zoukankan      html  css  js  c++  java
  • 学数据机构干什么?

    http://blog.csdn.net/ustc_dylan/article/details/6289774

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

    回答一:

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

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

    回答二:

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

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

    回答三:

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

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

  • 相关阅读:
    GNU make manual 翻译(九十九)
    GNU make manual 翻译( 九十五)
    Shell的 for 循环小例子
    makefile中对目录遍历的小例子
    GNU make manual 翻译(九十三)
    GNU make manual 翻译( 一百)
    GNU make manual 翻译( 九十七)
    GNU make manual 翻译( 九十八)
    mapserver4.8.3 的readme.win32的中文翻译文件
    遥控器编程
  • 原文地址:https://www.cnblogs.com/xubeiping0930/p/4681337.html
Copyright © 2011-2022 走看看