1、后序遍历:层次遍历:将树转换成二叉树加线:在兄弟之间加一连线抹线:对每个结点,除了其左孩子外,去除其与其余孩子之间的关系旋转:以树的根结点为轴心,将整树顺时针转45 森林转换成二叉树1.将各棵树分别转换成二叉树;2.将每棵转换后的二叉树依次连接成为右子 二叉树转换成森林1.将二叉树中根结点与其右孩子连线,及沿右分支搜索到的所有右孩子间连线全部抹掉,使之变成孤立的无右孩子二叉树;2.将孤立的二叉树转换成树构造Huffman树深度优先遍历 V1 V2 V4 V8 V5 V3 V6 V7 广度遍历最小生成树普里姆(Prim)算法:克鲁斯卡尔(Kruskal)算法:拓扑排序在有向图中选一个没有前驱的顶
2、点且输出之从图中删除该顶点和所有以它为尾的弧重复上述两步,直至全部顶点均已输出;或者当图中不存在无前驱的顶点为止关键路径见笔记11哈希表的建立,处理冲突方法开放定址法:关键字(19,14,23,1,68,20,84,27,55,11,10,79)用链地址法处理冲突:ASL=(1*6+2*4+3+4)/12=1.7512二叉排序树的建立左边都是小的,右边都是大于等于的13 堆排序1)堆排序需解决的两个问题:如何由一个无序序列建成一个堆?如何在输出堆顶元素之后,调整剩余元素,使之成为一个新的堆?2)第二个问题解决方法筛选方法:输出堆顶元素之后,以堆中最后一个元素替代之;然后将根结点值与左、右子树的根结点值进行比较,并与其中小者进行交换;重复上述操作,直至叶子结点,将得到新的堆,称这个从堆顶至叶子的调整过程为“筛选”3)第一个问题解决方法从无序序列的第n/2个元素(即此无序序列对应的完全二叉树的最后一个非终端结点)起,至第一个元素止,进行反复筛选