链表是同等种多少结构还是数量类型?

发布日期:2018-06-06 来源:财富国际在线 阅读:
链表是同等种多少结构还是数量类型? 田展帆 2小时前 135 数据结构 算法与数据结构 链表 学习数据结构和算法,对数组、链表、栈、队列、树这几个概念之间的逻辑关系有点疑问。我的理解是,数组和链表是两种数据存储方式,连续存储和非连续存储。而栈、队列、树这些是数据类型,每一种都可以采用数组来实现或者链表来实现。也就是说,这是两个不同维度的概念。如果把数据类型定义为可以施加一组特定操作的数据元素的集合,那么数据结构就是数据元素的存储方式(连续/非连续),而算法就是每个操作的具体实现,数据类型=…
0 0
其他回答
我的体会是,「数据类型」指的是整型、实型、字符型、类这样的东西,是在讨论编程语言的时候使用的概念,在算法和数据结构的语境中基本不提。

而数组、链表、栈、队列这些都是「数据结构」。正如你所说,这些数据结构之间还存在不同的关注点和层次关系:数组、链表注重数据间的排列方式,栈、队列注重操作;后者可以用前者实现。所以我觉得可以把「数组、链表」等称为「数据的物理结构」;「栈、队列」等称为「数据的逻辑结构」。

有些数据结构既可以是物理结构又可以是逻辑结构,比如树 —— 一般逻辑上「树」的概念,在物理上也是用树形结构(结构体 + 指针)实现的。但也有特殊情况,比如逻辑上的「堆」在物理上可以用数组实现;逻辑上的「并查集」在物理上可以用「森林」来实现。
王赟 Maigo 1小时前 0条评论
0 0
哈哈这个链表的问题真算是百晓知道的月经问题啦。我觉得大家与其多想,不如多查。毕竟Google和维基什么都知道。

数据类型:In computer science and computer programming, a data type or simply type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data.

数据类型里面常用的就是实数整数数组什么的,这些比较好理解。另外的就是抽象数据结构:堆/栈(此处非虚拟内存的堆栈),树,有序/无序集合,优先队列,等等等等。这些东西相比起普通数据类型确实比较“抽象”,所以需要专门开一门课告诉你有哪些比较常用。

数据结构:In computer science, a data structure is a particular way of organizing data in a computer so that it can be used efficiently.

然后就是具体数据结构实现:就是你经常写的什么splay tree,treap(实现有序集合),Fibonacci Heap(实现优先队列),hash table(实现无序集合),union-find(实现联通森林)等等。

那么链表是用来实现堆、栈和一些其它比较简单的数据结构用的,所以自然是一个数据结构。

In computer science, a linked list is a linear collection of data elements, called nodes, each pointing to the next node by means of a pointer. It is a data structure consisting of a group of nodes which together represent a sequence.



当然了,其实这些问题虽然并不难但是确实很多人都搞不太清楚,我们投非理论的会议,因为审稿人搞不清data type和data structure于是得到很多莫名其妙匪夷所思的comments是很常见的,我们也比较头大且没什么办法……更有甚者连data structure和application都分不太清……比如paper是实现一个data type然后reviewer说在某个application里面不用某个query啊,等等……



ps. @王赟 Maigo 其实恰恰相反在算法和数据结构中会大量提到数据类型,比如我提出了一种新的BST,我一般paper的abstract会粗略用一两句话说他支持哪些ADT,这样我就不用说我这个数据结构能干啥了(当然这个例子有点low,正常人都知道search tree能干嘛)。而我一篇算法论文,算法描述中会说我需要一个priority queue,那么具体用什么实现取决于input和场景,而一般不会在算法中说我需要一个binomial heap。具体的数据结构只会出现在分析复杂度中,而替换这个数据结构并不影响算法本身的正确性,所以因为其不必要性,不会出现在算法描述中。因此数据类型是个很好的在算法和数据结构之间的桥梁。
Yan Gu 1小时前 0条评论
0 0

关于我们 联系我们招聘信息免责申明广告服务 网站地图 百度地图 TAG标签

Copyright@2018-2022 Cfgjzx.Com 财富国际在线 版权所有 All Rights Reserved   
财富国际提供:最新财富资讯、房产资讯、股票资讯、区块链、投资理财、保险导购、健康产品、公私募基金,易经等资讯及服务.