经过一周的休息,继续备战软考。软考视频,宏观看了看,A、B、C三个部分,加起来可以说是涵盖了计算机领域的各个方面。
数据结构与算法基础,开篇第一章,加上自考的学习,看视频轻松了不少。
正如标题所言,本章也就两大部分,一是数据结构,二是算法基础。
本篇博客就先对数据结构做一个简单总结。
在数据结构中,可按两种方式划分,一是逻辑结构,二是存储结构。具体如下图所示:
在线性结构下,栈和队列两者可以对比着学习。
栈:先进后出;限定只能在表尾的一端进行插入和删除操作。
队列:先进先出;限定只能在表尾的一端进行插入操作和在表头的一端进行删除操作。
在非线性结构下,第一次对树和图进行这么详细全面的学习。下面是一个树形结构:
树的学习主要包括:基本概念,树的遍历和二叉树。
一.基本概念
1.结点的度:与下一个几个结点相关联,就是它的度。
2.树的度:度数最大的就是整个树的度
3.叶子结点:下面没有结点
4.分支结点:如2,3,4
5.内部结点:如2,4,8
6.父结点/子结点:相对概念
7.兄弟结点
8.层次:0,1,2,3层
二.树的遍历
对于一棵树,我们有三种方式对其进行遍历:
前序:从根结点到子结点(1,2,5,6,7,3,4,8,9,10)
中序:从叶子结点到根节点(5,6,7,2,3,9,10,8,4,1)
层次:一层层访问(1,2,3,4,5,6,7,8,9,10)
三.二叉树
二叉树,它并不是一种特殊的树,而是一种独立的树的结构。下面是一些二叉树的示例:
同样地,学习图,也是需要理解一些概念及遍历方法。
一.基本概念
1.有向图:顶点的偶对是有序的。
2.无向图:顶点偶对是无序的。
3.连通图:任意两个顶点都是连通的。
4.连通分量:无向图中的极大连通子图。
二.图的遍历
对图进行遍历,有两种方式,一种是深度优先,一种是广度优先。
数据的逻辑结构在计算机中的实现称为数据的存储结构。
下面是对四种存储结构的一句话总结:
1.顺序存储结构是指所有存储结点存放在一个连续的存储区里,用结点的相对位置表示数据元素间的逻辑关系。
2.链式存储是指每个存储结点除了含有一个数据元素外,还包含指针,用指针表示数据元素间的逻辑关系。
3.索引存储是除建立存储结点信息外,还建立附加的索引表标识结点的地址。
4.散列存储,又称hash存储,是一种力图将数据元素的存储位置与关键码之间建立确定对应关系的查找技术。散列法存储的基本思想是:由节点的关键码值决定节点的存储地址。
软考数据结构的学习,有了自考的些许积累,两者相辅相成,互相补充,知识点至少都接触了两次,每一次学习,有着不同的小组,带着自己不一样的思考,问题一个个的积累,一个个的解决,这样的过程,很好!