当前位置:首页 » 存储配置 » 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)

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

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

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

热点内容
云服务器网关系列 发布:2024-11-25 01:00:42 浏览:971
图灵姬编程 发布:2024-11-25 00:52:40 浏览:314
编译好的程序不闪一下就没了 发布:2024-11-25 00:48:51 浏览:549
ts设置编译输出目录 发布:2024-11-25 00:43:28 浏览:448
元神比较好的云服务器 发布:2024-11-25 00:43:20 浏览:190
草人御魂怎么配置 发布:2024-11-25 00:30:37 浏览:738
ftp上传流程 发布:2024-11-25 00:18:27 浏览:90
安卓服光遇什么时候上线的 发布:2024-11-25 00:13:22 浏览:919
80万能买到酷路泽的什么配置 发布:2024-11-25 00:10:57 浏览:337
新浪微博中如何修改密码 发布:2024-11-25 00:10:52 浏览:101