树和二叉树——树的基本概念
树和二叉树——树转二叉树
树和二叉树——查找二叉树(二叉排序树)
树和二叉树——构造霍夫曼树(最优)
树和二叉树——线索二叉树
树和二叉树——平衡二叉树
图——基本概念
1、有向图
2、无向图
3、完全图:在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图。在有向图中,若每对顶点之间都有二条有向边相互连接,则称该图为完全图。
4、度,入度与出度
图——存储结构(邻接矩阵)
用一个n阶方阵R来存放图中各结点的关联信息,其矩阵元素Rij定义为:
图——存储结构(邻接表)
图——图的遍历
图——拓扑排序
我们把用有向边表示活动之间开始的先后关系。这种有向图称为用顶点表示活动网络,简称AOV网络。
图——最小生成树(普利姆算法)
图——最小生成树(克鲁斯卡尔算法)
查找
查找——在数据集合中寻找满足某种条件的数据元素的过程称为查找。
查找表(查找结构)——用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录)组成。
关键字——数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。
查找长度—一在查找运算中,需要对比关键字的次数称为查找长度。平均查找长度(ASL,Average Search Length)—所有查找过程中进行关键字的比较次数的平均值。
查找——顺序查找
查找——折半查找
折半查找,又称“二分查找”,仅适用于有序的顺序表。
查找——分块查找
查找——哈希表(散列表)
散列表(Hash Table),又称哈希表。是一种数据结构,特点是:数据元素的关键字与其存储地址直接相关。
排序
排序——直接插入排序
算法思想:每次将一个待排序的记录按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。
排序——希尔排序
算法思想:先将待排序表分割成若干形如L[i,i+d,i+2d….i+ kd]的“特殊”子表,对各个子表分别进行直接插入排序。缩小增量d,重复上述过程,直到d=1为止。
排序——冒泡排序
算法思想:从后往前(或从前往后)两两比较相邻元素的值,若为逆序(即A[i-1]>A[i]),则交换它们,直到序列比较完。称这样过程为“一趟”冒泡排序。
排序——快速排序
排序——简单选择排序
算法思想:每一趟在待排序元素中选取关键字最小的元素加入有序子序列。