• 我理解的顺序表和链表存储


    写点什么东西对自己总有好处,证明自己还在努力的学习。

    每天的积累总对自己有好处。今天就来总结一下我们的常用的数据结构。

    1.顺序表存储结构(典型的数组)

         原理:顺序表存储是将数据元素放到一块连续的内存存储空间,存取效率高,速度快。但是不可以动态增加长度。

         优点:存取速度高效,通过下标来直接存储。

         缺点:1.插入和删除比较慢,2.不可以增长长度。

                    比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序。

        时间性能 :查找  O(1) ,插入和删除O(n)。 

    2.链表存储结构

          原理:链表存储是在程序运行过程中动态的分配空间,只要存储器还有空间,就不会发生存储溢出问题。

          优点:插入和删除速度快,保留原有的物理顺序,比如:插入或者删除一个元素时,只需要改变指针指向即可。

          缺点:查找速度慢,因为查找一个元素时,需要从开始节点一个一个节点去查找元素访问。

          时间性能 :查找  O(n) ,插入和删除O(1)。

    1.从它们的存储优缺点来看,各自有各自的使用场景,比如:频繁的查找却很少的插入和删除操作可以用顺序表存储,如果频繁的插入和删除操作很少的查询就可以使用链表存储。

    2.当线性表中的元素个数变化较大或者根本不知道有多大时,最好用单链表结构,这样可以不需要考虑存储空间的大小问题。而如果事先知道线性表的大致长度,比如一年12月,一周就是星期一至星期日共七天,这种用顺序结构效率会高很多。

    注:后续java代码会跟进。希望能对大家有帮助。

  • 相关阅读:
    绿有四季关于需求沟通
    模板引擎开发(二)值标签的处理
    Jquery插件浮动广告
    项目经理的“势能”培养
    模板引擎开发(一)
    c#读取apk 信息
    golang读取文件信息插入mongodb
    白话MongoDB(二)(转载)
    golang 读取mongob数据写入sqlserver
    golang 通用Contains方法
  • 原文地址:https://www.cnblogs.com/xubiao/p/4712725.html
Copyright © 2020-2023  润新知