数据结构是研究数据在内存中的组织方式。
我觉得研究**数据的合理组织方式**原因有以下几点:
* 便于运算;
* 便于数据的存取;
* 为计算机解决实际问题,如算法问题,提供基本工具和手段;
所以,数据结构枯燥的原因,可能是DS是一门工具性质的课程,而不是应用型。
前面讲到线性表。
总而言之,线性表是最符合人类现实生活中组织数据的思维模式。它的这种逻辑结构在我们现实生活中随处可见。
如,学生收作业,医院排队取号,公司计算员工业务报表。我们在寻找某一个人员的业务报表的时候,总是从第一个文件开始向后依次寻找。
可以说,线性表是最为简单的一种数据结构。
![](https://box.kancloud.cn/d03d3cbbfb9d9fef1c758991d80792dc_580x302.jpg)
线性表中间的一个节点有且只有一个前驱,有且只有一个后继。
但树是这样的:
> 树中的任何一个节点有且只有一个前驱,但可以有多个后继。
其实,翻译过来就是:
> 树在利用分支来减少查找数据的长度。所以,树最适合做数据的查找。这也是树为什么多在数据库中使用的原因。
![](https://box.kancloud.cn/633669a121f990f7e75fbcbc85859211_248x207.jpg)
而二叉树是最便于维护的,同时也最符合查找习惯。所以,二叉树最为流行。