数据结构
复习要点
第2章:线性表的概念以及顺序和链式存储下查找、插入和删除算法和算法的时间复杂性。
第3章:1.概念:栈、队列和循环队列;2.栈和队列的初始化、插入和删除算法;3.栈、队列和循环队列的空、满条件。
第5章:数组、三元组和十字链表的定义
第6章:1.各种定义;2.二叉树的链式存储结构和遍历(先序、中序、后序和层次);3.树和森林的存储、遍历以及与二叉树的相互转换;4.Huffman树的构造。
第7章:1.图的存储(邻接矩阵、邻接表、邻接多重表)和遍历;2.最小生成树、关键路径和最短路的算法实现。
第9章:折半查找、二叉排序树、平衡二叉树和B-树的算法实现。
第10章:1.基本排序算法(冒泡、简单选择、直接插入)的编程;2.其它排序(希尔、快速、2-路归并、堆、表插入)的算法实现;3.各种排序的稳定性。
第2章:线性表的概念以及顺序和链式存储下查找、插入和删除算法和算法的时间复杂性。
作业:2.2,2.3,2.6,2.7,2.8,2.15,2.19,2.20
第3章:1.概念:栈、队列和循环队列;2.栈和队列的初始化、插入和删除算法;3.栈、队列和循环队列的空、满条件。
作业:3.1,3.6,3.11,
第5章:数组、三元组和十字链表的定义
第6章:1.各种定义;2.二叉树的链式存储结构和遍历(先序、中序、后序和层次);3.树和森林的存储、遍历以及与二叉树的相互转换;4.Huffman树的构造。
=======
10.4.1简单选择排序
VoidSelectSort(Sqlist&L){
//对顺序表L作简单选择排序
for(k=1;k
min=L.r[k].key;I=k;//4-6行是从k到L.length找关键//字最小的记录
for(j=k+1;j
if(min>L.r[j].key){min=L.r[j].key;I=j;}
if(I!=k)L.r[k]L.r[I];
}//fork
}//SelectSort
10.4.2树形选择排序
堆的定义
如何从无序表来构造一个堆
如何调整堆
复习要点
第2章:线性表的概念以及顺序和链式存储下查找、插入和删除算法和算法的时间复杂性。
第3章:1.概念:栈、队列和循环队列;2.栈和队列的初始化、插入和删除算法;3.栈、队列和循环队列的空、满条件。
第5章:数组、三元组和十字链表的定义
第6章:1.各种定义;2.二叉树的链式存储结构和遍历(先序、中序、后序和层次);3.树和森林的存储、遍历以及与二叉树的相互转换;4.Huffman树的构造。
第7章:1.图的存储(邻接矩阵、邻接表、邻接多重表)和遍历;2.最小生成树、关键路径和最短路的算法实现。
第9章:折半查找、二叉排序树、平衡二叉树和B-树的算法实现。
第10章:1.基本排序算法(冒泡、简单选择、直接插入)的编程;2.其它排序(希尔、快速、2-路归并、堆、表插入)的算法实现;3.各种排序的稳定性。