首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双链表是非线性数据结构还是线性数据结构?

双链表是非线性数据结构还是线性数据结构?
EN

Stack Overflow用户
提问于 2015-05-27 15:08:18
回答 5查看 12.6K关注 0票数 5

线性数据结构依次遍历数据元素,其中只能直接到达一个数据元素。数组,链接列表。

但是在双链接列表中,我们可以使用前一个指针和下一个指针达到两个数据元素。

那么,我们可以说双链表是一个非线性数据结构吗?

如果我错了,请纠正我。

谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-05-27 15:12:14

非线性数据结构是指元素以非线性的方式出现的数据结构,它需要两个或多个二维表示。元素可能或者可能(大部分)不是存储在相邻内存位置中的,而是以任何顺序/非线性方式存储,就好像您在这两者之间跳过了元素一样。访问元素也是以无序的模式进行的。

例如:-树,在这里可以从根迭代到正确的子树,到它的正确子树,.以此类推--从而跳过所有左节点。

但是,在双链接列表中,您必须只按顺序(线性)移动,以向前移动(使用前向指针)或向后移动(使用以前的指针)。如果不遍历中间元素,就不能从列表中的任何元素跳转到任何远程元素。

因此,双链表是一种线性数据结构.在线性数据结构中,元素以线性方式排列(即一维表示)。

票数 16
EN

Stack Overflow用户

发布于 2015-05-27 15:11:56

你错了;两个理由:

  1. 虽然您可以从任何节点获得2个元素,但其中一个元素是您用来访问该节点的元素,因此您只能从每个节点获得一个新节点。
  2. 它仍然是线性的,因为它必须按顺序遍历,或者在一行中。
票数 0
EN

Stack Overflow用户

发布于 2015-05-27 15:12:09

它仍然是连续的:您需要遍历列表中的一些元素才能获得特定的元素,而与可以随机访问每个元素的数组相比。

但是,您可以进行线性向前或向后,这可能优化搜索。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30486380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档