博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线性表
阅读量:6934 次
发布时间:2019-06-27

本文共 542 字,大约阅读时间需要 1 分钟。

     1.描述的,即称为静态链表,元素为一般定义为含游标的结构体。优点:增删元素时,仅需要改变游标,保留了链表的优点;缺点则失去顺序表的随机读取特点。不便于Java使用(不含指针)。

     2.顺序表是一种随机存储结构,即随机访问任意元素的时间均为O(1)。分为两种,一种为使用数组静态分配内存的静态顺序表,一种是用malloc和remalloc动态分配存储空间的的动态表。顺表表插入和删除数据元素的时间复杂度为O(n),其中,平均移动数据长度为表长的一般。

     3.虽然单链表中插入和删除的时间复杂度和顺序表相同,但是差常数倍。前者的时间复杂度仅仅是由元素比较(定为时决定),而后者还涉及到堆中的数据移动,在数据元素占据大的存储空间时。单链表的其它操作的时间复杂度均为O(n)。

     4.双向链表存储密度更加低。插入和删除操作更加复杂(也是O(n))。但由于双向链表的对称性,在对前节点进行操作的时候具有优势。

     5.链表逻辑相邻的元素物理不一定相邻。

     6.若线性表需要大量的查找元素,顺序表方便;若频繁增删,则链表方便。元素个数未知或者元素数目变化大,链表方便;事先预知存储大小,顺序表方便。

转载于:https://www.cnblogs.com/engineerLF/p/5393052.html

你可能感兴趣的文章
[原]IE9 DOM的自定义属性问题
查看>>
[CLR via C#]17. 委托
查看>>
Android系统Google Maps开发实例浅析
查看>>
支持向量机(SVM)算法
查看>>
445port入侵具体解释
查看>>
The command 'new_value' for SQLPlus
查看>>
【转】弧度和角度的转换
查看>>
Servlet 第六课: Session的使用
查看>>
Ubuntu14.04安装JDK
查看>>
虚拟机克隆以后出现“需要整合虚拟机磁盘”的解决方法
查看>>
InstallShield12豪华版破解版下载|InstallShield下载|软件打包工具
查看>>
web项目构建
查看>>
MVC中,视图的Layout使用
查看>>
Samba通过ad域进行认证并限制空间大小《转载》
查看>>
理解事件捕获。在限制范围内拖拽div+吸附+事件捕获
查看>>
[Android] 基于 Linux 命令行构建 Android 应用(六):Android 应用签名
查看>>
任务管理器进程中多个chrome.exe的问题
查看>>
pthread_join直接决定资源是否能够及时释放
查看>>
StoryBoard学习(5):使用segue页面间传递数据
查看>>
RelativeLayout经常使用属性介绍
查看>>