数据结构是在对计算机内存中(或者有时候说在磁盘中)的数据的一种安排。
这里的数据结构可以表示一下几种:数组,链表,栈,二叉树,红黑数,哈希表等等。
算法就是对这些结构中的数据进行各种处理。
这里的处理可以表现为一下形式:对数据的排序,对数据的增、删、改、查等。
既然我们学习数据结构和算法,但这些数据结构和算法可以用在什么地方呢?
多数数据结构和算法通常使用在一下方面:
1,现实世界数据的存储(高效存储与取出);
2,程序员的工具;
3,建模。
下面就对现实世界数据的存储做一下阐释:
在现实世界中,每时每刻都产生着不可估计的巨大量的数据,我们怎么存储这些有用的数据,使用什么样的介质,使用什么样的排序高效的存储和取出?几乎每个事物都携带信息和数据,所以,以个人的观点认为,几乎任何事物都可以存储信息。
通常我们能想到的存储信息的介质有:古时候的竹签、甲骨文,现代的纸质,科技上的磁盘,硬盘,闪存盘等,人身上的大脑,都可以存储大量的信息。在计算机上,我们使用软盘,硬盘等介质存储我们的信息。我们几乎每天都会和这些信息打交道,所以,我们需要高速的存储或者取出我们所需要的数据,减少不必要的等待时间。
怎样减少不必要的等待时间呢?第一种,就是硬件的好与坏,第二种,就是对数据结构和算法的优化。硬件的好坏完全根据你的经济情况。但是对数据结构和算法的优化就是我们程序员所必要完成的工作,从而高效的存取数据。