学习数据结构的原因

问题:数据结构是干什么用的呢?

我们这学期开数据结构C语言版,已经过去半学期了,还是没有头绪。去年已经学过C与C++了,觉得已经可以编写程序了呀?然后我们为什么还要学习数据结构呢?学习什么链表,插入删除数据,看代码,觉得很复杂。这是干什么用的呢?C或C++里不就已经可以插入数据,存储数据么?建个数组,运用指针不就可以很方便么?还要费这劳什子自己写一大串代码就是为了建个链表能存两个数据?

回答一:

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

好好学吧,刚开始我也觉得稀里糊涂的,但考研不得不再看了几遍,觉的数据结构的思想还是很好的,不说各种排序和图、二叉树的算法设计,单单一个栈就是很深奥的,他可以将一些复杂难懂的递归算法,拆解改写,让你对这些算法一目了然。自己好好体会吧,有些东西并不向你看到的那么简单。

回答二:

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

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

再来一个程序例子:

假如我们在c语言的学习中,没有学习数组(数组就是一种数据结构),我们要对10个数进行排序,我们要怎么做。至少你得定义10个变量,int i1~i10,然后就是大量的重复劳动,并且这个过程很容易把人给搞昏掉。但如果我们用数组做的话,问题就显得容易的多了,我们对数据的操作,直接可以用数组下标来实现,这大大提高了程序的编写效率。这就数据结构的魅力!

回答三:

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

对于链表,如果你需要高速处理数据,比如做个mp3播放器,你要删除一部分错误的音乐代码,并且这些代码很随

机的排列在数据中,要是用数组的话:1在该地址填无用代码(内存不释放)2删除该数组中这些成员,把数组重新排列一下运用链表的话就很简单了 把指针一改,ok!

猜你喜欢

转载自blog.csdn.net/taiyangshenniao/article/details/53640730
今日推荐