摘要:
一.排序相关概念:稳定性: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序仍然不变,则称这排序算法是稳定的,否则称为不稳定的。 内部排序: 数据元素全部放在内存中的排序。 外部排序: 不断在内外存之间移动数据的排序。 二.常见排序 1.直接插入排序 基本原理 阅读全文
2020年7月12日
2020年6月28日
摘要:
1.基本概念: 1.1 静态查找和动态查找 静态查找:数据集合稳定,不需要添加,删除元素的查找操作。 动态查找:数据集合在查找的过程中需要同时添加或删除元素的查找操作。 1.2 查找结构 对于静态查找来说,可以用线性表结构,这样可以使用顺序查找算法,如果再对关键字进行排序,则可以使用折半查找算法来提 阅读全文
2020年6月14日
摘要:
1.内容小结: 图: 图是由顶点的有穷非空集合以及顶点的边的集合组成,通常表示为G(V,E),是一种多对多的数据结构。图不允许没有顶点,可以没有边,这点与树不同。 图的基本概念: 图的概念和性质还是挺多的,这里只列出个人觉得比较容易混淆的。 连通图:任意两个顶点都相互连通的图 极大连通子图:包含尽可 阅读全文
2020年5月31日
摘要:
1.内容小结 依据惯例,还是先回顾一下学过的,可能会有新的体会。 树和二叉树 二叉树的遍历 哈夫曼树 树和二叉树: 树是使用了递归定义的数据结构,是一个n(n>=0)个结点的有限集,递归定义简单理解就是——树的子树还是树(注意:空树也被划分为树); 二叉树是每个结点最多有两个子树的树。它有五种基本形 阅读全文
2020年5月5日
摘要:
1.内容小结: 本章学习串,数组以及广义表,学习重点主要是串和数组。 1.1 串: 串的定义:由零个或多个字符组成的有限序列(这里是狭义的串,泛指编程中的字符串)。 串的存储结构:顺序存储和链式存储,串的顺序存储结构是指串中的字符被依次的存放在一组连续的存储单元中,可以比线性表的顺序存储结构;串的链 阅读全文
2020年4月26日
摘要:
1.内容小结: 栈(FILO)和队列(FIFO),是插入和删除限定在“端点”的线性表,都有顺序存储结构和链式存储结构。 1.1 栈: 栈的实现和基本操作: 1 顺序栈: 2 #define MAXSIZE 100//栈存储空间可能的最大值 3 typedef struct{ 4 SElemType 阅读全文
2020年4月12日
摘要:
1.内容小结: 线性表依据内存空间是否连续分为顺序表和链式表,通常用数组和链表分别表示其具有的存储结构。 数组的特点: 在内存中,地址连续; 能实现随机访问 插入和删除操作效率低,查找操作效率高(具体问题具体分析) 数组使用前必须声明所占内存的大小 链表的特点: 在内存中,地址不连续 只能顺序访问 阅读全文
2020年3月21日
摘要:
心得体会: 初识数据结构,目前的理解是它能帮助我从内存的角度理解编程语言。受限于内存的大小,我们不得不思考问题解决的算法。与现实一致,实际问题的处理也总面临着时空和空间的约束。这个时候,高效的数据组织方式就显得极其重要了,数据结构就是学习如何组织数据。数据结构是数据之间相互存在的一种或多种特定的关系 阅读全文