学数据机构干什么?

我们为什么还要学习数据结构呢?学习什么链表,插入删除数据,看代码,觉得很复杂。这是干什么用的呢?C或C++里不就已经可以插入数据,存储数据么?建个数组,运用指针不就可以很方便么?还要费这劳什子自己写一大串代码就是为了建个链表能存两个数据?

回答一:

链表的好处在于不用使用连续的内存,而是利用内存中分散的存储单元存储数据;而且链表的长度是可以任意增删的,但数组一旦申请就不能改变,这根本不能满足数据的动态存储;再加上数组的删除和插入元素会使大片的数据进行移动,这就增加了运算量;

  数据结构的思想还是很好的,不说各种排序和图、二叉树的算法设计,单单一个栈就是很深奥的,他可以将一些复杂难懂的递归算法,拆解改写,让你对这些算法一目了然。

回答二:

数据结构是一种思想工具,就像我们用杯子喝水,用筷子吃饭一样,这里的杯子和筷子就是数据结构,如果我们不具有这样的思想,那我们只能趴下喝河水,用手抓东西吃。

举一个例子,假如我们要做一个锤子(金工实习的那种),我们需要什么,仅有两块铁行吗?不行的,我们必须还要有车床,还要有砂纸等工具。所以我们要制作锤子,就要具有一定的工具。现在又有一个问题提出来了,可以不用工具吗?可以,但是你会浪费很多的时间和精力。数据结构就是为了制作工具而发明的,有了工具,解决问题就容易的多了。

回答三:

程序不是用来玩的,或者说大部分有用的程序都是用来处理数据的,你做个mp3播放器,你如何给mp3解码?你需要把音乐的代码放到内存里,然后在解码,数据如何在内存里存储?这就是数据结构。

对于链表,如果你需要高速处理数据,比如做个mp3播放器,你要删除一部分错误的音乐代码,并且这些代码很随 机的排列在数据中,要是用数组的话:1在该地址填无用代码(内存不释放)2删除该数组中这些成员,把数组重新排列一下运用链表的话就很简单了 把指针一改,ok!

时间: 2024-10-25 07:33:22

学数据机构干什么?的相关文章

TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组

标签: TEMPO研究; 依那西普; 放射学进展; 类风湿关节炎 TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组 EULAR2007. Abstract No: OP0011. D. van der Heijde 1, C. Lukas 1, S. Fatenejad 2, R. Landewe 1. 1Rheumatology, University Hospital, Maastrict, Netherlands, 2Research and Developm

数据机构基本概念

一 数据机构类型: 集合 ,线性结构,树形结构,图状机构 二 逻辑关系:线性结构 和 非线性结构 线性结构 1.线性表 2.栈 3.队列 4.数组 ,广义表 5.字符串 非线性结构 1.树,二叉树 2.图 三 数据存储结构 顺序存储结构(向量,一维数组) 非顺序存储结构(链接表) 四 数据类型(Data Type) 原子类型 (如 int, char, float等) 机构类型(线性表, 数组, 树等) 五 抽象数据类型(Abstruse Data Type) 抽象线性数据结构是指一个数字模型以

ComplexBrowser: a tool for identification and quantification of protein complexes in large-scale proteomics datasets(大规模蛋白组学数据集中鉴定和定量蛋白复合物)

文献名:ComplexBrowser: a tool for identification and quantification of protein complexes in large-scale proteomics datasets(大规模蛋白组学数据集中鉴定和定量蛋白复合物) 期刊名:Mol Cell Proteomics 发表时间:(2019年11月) IF:4.828 单位:南丹麦大学生物化学与分子生物学系和VILLUM生物分析科学中心 物种:人和小鼠 技术:ComplexBrow

10 天 100 小时学数据科学

#转自wx公众号:Python开发者 #问题/答案来源:Quora 英文:Roman Trusov 译文:伯乐在线专栏作者 - XiaoxiaoLi 链接:http://python.jobbole.com/85704/ [伯乐在线导读]:有位网友在 Quora 提问,并补充说「我有10天空闲时间,每天想花十个小时学习数据科学入门知识,应该学点什么呢?谢谢」伯乐在线摘编了 Roman Trusov 的回复,非常值得新手参考. 哥们我太羡慕你了,不是谁都有像你这样的机会的. 10天100小时的学习

小白学数据 | 28张小抄表大放送:Python_R_大数据_机器学习

原文链接 摘要: 1. Python的数据科学快速入门指南 如果你刚入门python,那么这张小抄表非常适合你.查看这份小抄表,你将获得循序渐进学习Python的指导.它提供了Python学习的必备包和一些有用的学习技巧等资源. 1. Python的数据科学快速入门指南 如果你刚入门Python,那么这张小抄表非常适合你.查看这份小抄表,你将获得循序渐进学习Python的指导.它提供了Python学习的必备包和一些有用的学习技巧等资源. 2. Python基础小抄表 这张由Datacamp制作的

数据机构-基本概念

百度版: 数据结构是计算机存储.组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率.数据结构往往同高效的检索算法和索引技术有关. 数据结构里面的一些重要概念: 1.逻辑结构与物理结构 1.1逻辑结构(重点) 指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关.(百度版) 主要有几种关系: 集合关系: 集合关系的数学图示: 线性关系:两个变量之间存

[大话数据机构 01]线性表

1.线性表 先看定义: 线性表:零个或多个数据元素的有限序列 从定义可以看出,关键在于有限序列一词. 有限,表示元素的个数不是无穷无尽的,是有穷的,和算法的特性就吻合了. 序列,表示元素之间是有序的,那么,除了首尾两元素,其他元素都可以且只能找到一个前驱和一个后继,第一个元素无前驱,最后一个无后继 来自为知笔记(Wiz)

数据机构分类

数据结构 大体上分为了 线性结构和非线性结构 如果再细分,可以把非线性结构分为 图 和 树,多维数组(2维以上),再加上集合(一般不研究) 线性结构 1.数据元素之间存在一对一的关系 2.数据存储有两种方式,顺序存储(一维数组)和链式存储(链表), 其中顺序存储的叫做线性表,存储的元素物理上是连续的,链式存储的叫做链表,物理上不一定连续 3.常见的线性结构 数组,链表,栈,队列 数组 稀疏数组:当一个数组里面大部分的值都一样的时候,可以使用稀疏数组(列永远是3) 只记录不同值所在的行,列,以及值

数据机构学习(链表)

链表: 以节点的方式来存储 每个节点包含data域,next域:指向下一个节点 各个节点不一定连续存储 分为带头节点和不带头节点(根据实际需求确定) head节点: 不存放具体数据,作用就是表示单链表的头 //单链表 public class SingleLinkedListDemo { public static void main(String[] args) { //创建几个节点 HeroNode hero1 = new HeroNode(1, "萧炎", "炎帝&qu