当前位置:首页 » 存储配置 » java链式存储

java链式存储

发布时间: 2024-08-28 15:20:27

‘壹’ 链式存储结构属于线性结构还是非线性的存储结构

链表是线性表的链式存储结构
线性表的链式存储表示的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素与其直接后继数据元素
之间的逻辑关系,对数据元素来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。由这两部分信息组成一个“结点”,表示线性表中一个数据元素

链表(Linked
list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表:顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O(1)。
使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。在计算机科学中,链表作为一种基础的数据结构可以用来生成其它类型的数据结构。
链表通常由一连串节点组成,每个节点包含任意的实例数据(data
fields)和一或两个用来指向明上一个/或下一个节点的位置的链接("links")。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。而链表是一种自我指示数据类型,因为它包含指向另一个相同类型的数据的指针(链接)。链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。
链表有很多种不同的类型:单向链表,双向链表以及循环链表。链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和操作。程序语言或面向对象语言,如C,C++和Java依靠易变工具来生成链表。

‘贰’ 线性表顺序存储结构和链式存储结构的优缺点(JAVA)

从数据结构的角度来说顺序结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。他的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系)但是顺序存储的缺点是删除,插入操作需要花费很多时间在移动元素上。

对于链式存储而言,插入和删除元素开销小,操作简便。可扩展性强。

综上所述,如果元素个数已知,且插入删除较少的可以使用顺序结构,而对于频繁有插入删除操作,元素个数未知的,最好使用链式结构,编程时可结合要处理的数据的特点设计数据结构的。

热点内容
反编译jar游戏 发布:2024-09-15 01:23:37 浏览:998
绵阳解压 发布:2024-09-15 01:23:36 浏览:772
路闭合算法 发布:2024-09-15 01:21:12 浏览:906
编译程序包括编译和汇编嘛 发布:2024-09-15 01:21:09 浏览:657
哈罗单车服务器怎么看 发布:2024-09-15 01:07:41 浏览:848
服务器子网ip地址划分 发布:2024-09-15 00:49:48 浏览:308
飞智下载配置如何导入 发布:2024-09-15 00:37:27 浏览:684
微信零钱忘记支付密码怎么办 发布:2024-09-15 00:16:26 浏览:143
求职脚本 发布:2024-09-15 00:12:15 浏览:28
vivo专用存储卡有什么好处 发布:2024-09-15 00:09:31 浏览:691