线性表
来源:互联网 发布:短域名批量生成 编辑:程序博客网 时间:2024/03/29 04:45
1.用数组描述的链表,即称为静态链表,元素为一般定义为含游标的结构体。优点:增删元素时,仅需要改变游标,保留了链表的优点;缺点则失去顺序表的随机读取特点。不便于Java使用(不含指针)。
2.顺序表是一种随机存储结构,即随机访问任意元素的时间均为O(1)。分为两种,一种为使用数组静态分配内存的静态顺序表,一种是用malloc和remalloc动态分配存储空间的的动态表。顺表表插入和删除数据元素的时间复杂度为O(n),其中,平均移动数据长度为表长的一般。
3.虽然单链表中插入和删除的时间复杂度和顺序表相同,但是差常数倍。前者的时间复杂度仅仅是由元素比较(定为时决定),而后者还涉及到堆中的数据移动,在数据元素占据大的存储空间时。单链表的其它操作的时间复杂度均为O(n)。
4.双向链表存储密度更加低。插入和删除操作更加复杂(也是O(n))。但由于双向链表的对称性,在对前节点进行操作的时候具有优势。
5.链表逻辑相邻的元素物理不一定相邻。
6.若线性表需要大量的查找元素,顺序表方便;若频繁增删,则链表方便。元素个数未知或者元素数目变化大,链表方便;事先预知存储大小,顺序表方便。
0 0
- 线性表--线性存储
- 线性表 线性结构
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- SoftReference, ReferenceQueue 自己控制内存
- VC根据进程名获得进程ID 和 VC获得系统特殊文件夹 SHGetSpecialFolderPath 和 VC写入注册表,使程序开机启动
- JAVA Webservice
- 实用教程
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 线性表
- linux下oracle数据库执行sql脚本乱码问题
- jsessionid的困扰
- quick-cocos2dx Socket连接若干问题总结
- UVALive 6834
- 腾讯信鸽推送
- Linux slab 分配器剖析
- 网页事件自动适应触控设备
- Reverse Integer