07 2020 档案
摘要:AVL树 注意!!! 本文学习参考自AVL树(一)之 图文解析 和 C语言的实现,这篇博客写的非常棒!讲解易懂,思路清晰,代码也写的非常好!大家快去看看!!(这里的代码就是参考(抄)他的,我懒= =) 为什么要有AVL树? AVL树是最先被发明的高度自平衡二叉查找树。AVL树的名字取自它的发明者G.
阅读全文
摘要:二叉搜索树 注意:本文的算法和代码思路大部分来自《算法导论》 什么是二叉搜索树 二叉搜索树首先是一棵二叉树,此外,它还能用来搜索。因为它满足这样的性质:每个结点的左子树的结点值都比自身小,而它的右子树的结点值都比自身大。 它长得像下面这样:(依据创建时结点插入顺序不同,可能是完全二叉,也可能不是)
阅读全文
摘要:堆排序 堆 (二叉)堆是一种具有特殊性质的二叉树。要么所有结点都大于它的左右孩子结点,要么所有结点都小于它的左右孩子结点。前者被称为大根堆,后者被称为小根堆。如图: 从上到下,左到右编号序号后,我们可以用一个数组来表示这种结构(箭头指向的是孩子结点),即: 如果从0开始编号的话,可以发现,如果一个结
阅读全文
摘要:代码: #include<iostream> #include<string> #include<fstream> #include<vector> #include<algorithm> #include<cstdlib> #include<ctime> using namespace std;
阅读全文