【前言】
数据结构是计算机科学中的一个专业的基础,要用计算机解决一个问题,首先要对实际问题进行数据建模,描述数据的逻辑结构,将处理要求转化成基本运算,然后建立对应的存储结构,以便能被计算机存储处理,设计出一个算法,最后编写程序,由此来看,数据结构是一门非常重要的学科,他是计算机组织数据和存储数据的方式,我们的程序离不开数据,而数据结构正是指一组相互之间存在一种或多种特定关系的数据的组织方式和他们在计算机内的存储方式,以及定义在该数据上的一组操作,合理的数据结构可降低程序的复杂性,提高程序执行的效率。
【全局导图】
【详细介绍】
其实在数据结构这里,主要的是几种逻辑结构,以及这种结构如何在计算机里存储,最简单的数据逻辑结构就是集合了,没有规律。
线性表是一种线性结构,是一个有穷序列,线性表中的结点具有一对一的关系,每个数元素的含义在不同的应用中各不相同,但同一个线性表中的所有结点具有相同的特性,表示同一类信息。
线性表包括2种存储方式,顺序存储和链式存储,链式存储又包括了单链表、循环链表、双向循环链表这几种存储方式,各有千秋。
对于查找运算,顺序表较优,插入和删除链表较优。
线性结构中还有栈和队列,他们可以看做特殊的线性表,表现在他们的基础运算是线性表运算的子集,是运算受限的线性表,是2种非常广泛的结构。
栈的特点是先进后出,类似洗盘子,队列是的特点是先进先出,类似商场结账排队,同样,他们也有顺序存储和链式存储。
树和图,他们是非线性结构,树是具有层次结构的数据,包括二叉树,树和森林。
图是更加广泛的树,树的每一层节点只能和上一层中的0个或1个节点相关,但可能和下一层多个结点相关,而图确是任意两个结点之间都有可能相关,结点之间的邻接关系是任意的,应用较为广泛。
树:
图:
有了逻辑结构和存储结构,就要对数据进行查找和运算了,下面看“查找”和“排序”。
对于排序算法,还请大家光顾我另外一篇博客--排序算法
【小结】
不管对数据结构来说,还是对自考来说,其实学习知识可以真的可以变得如此简单,全局观的概况和新旧知识的联系,重复重复,再重复,知识就是这么简单而有趣!