- 博客(5)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 平衡搜索树---AVL树
AVL树是一种高度平衡的二叉搜索树,它的每个结点都有一个平衡因子,这个平衡因子的取值是-1,0,1(平衡因子 = 右子树高度 - 左子树高度)AVL树具有的性质:1.左子树和右子树的高度差不超过1;2.树中的各子树都是AVL树一、AVL树结点的定义为了判断每个子树是否平衡,因此在定义AVL树的结点的时候就应该在搜索二叉树的基础上加一个平衡因子_bftemplatestru
2016-10-30 10:50:23 1444
原创 平衡搜索树中的左单旋&右单旋&双旋
本文要点:平衡搜索树的左单旋、右单旋、左右双旋、右左双旋在平衡搜索树中进行插入结点时,有可能会破坏整棵树的平衡。为了保证平衡不被破坏,就要对一些节点进行旋转,从而来降低树的高度,这样也能保证树的平衡。
2016-10-28 17:34:01 7159 7
原创 二叉搜索树
二叉搜索树的操作:插入,删除,查找,遍历二叉搜索树也称有序搜索树,它具有如下的性质:1.每个结点都有一个作为搜索依据的关键码(key),每个结点的关键码都不一样2.左子树上所有结点的关键码都小于当前根节点的关键码3.右子树上所有结点的关键码都大于当前根节点的关键吗4.左右子树都是二叉搜索树二叉树的操作:插入,删除,查找,遍历一、插入---Insert当进行插入后,不能破坏二叉搜索树的结构,因此
2016-10-26 21:54:15 804
原创 堆排序算法
堆排序算法:根据堆具有的性质,我们可以每次将堆顶的数字(也就是最大或者最小的数字)与对数组尾部的数字交换,然后将堆从树的根部开始向下调整,到已经交换的数字的前一个位置截至,那么这样交换以后后边的数字就是有序的了!void HeapSort(int* a,size_t size){ //建堆 for (int i=(size-1)/2; i>=0; --i) { _AdjustD
2016-10-14 18:08:32 598
原创 堆&优先级队列
本文要点:1.堆的实现3.利用堆实现优先级队列一、堆1.堆是一种数组对象,可以被看作一颗完全二叉树结构,堆结构的二叉树存储是一种静态存储。堆又被分为大堆和小堆:大堆:每个父节点大于子节点小堆:每个父节点小于子节点2.堆的实现(以大堆为例)实现一个堆主要在于要建堆和调整。假设现有数组int a[] = { 10, 16, 18, 12, 11, 13,
2016-10-14 18:04:57 569
哈夫曼实现文件压缩时的传参问题
2016-10-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人