随笔分类 - C++
摘要:题目1078:二叉树遍历题目描述:二叉树的前序、中序、后序遍历的定义:前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。给定一棵二叉树的前序遍历和...
阅读全文
摘要:哈夫曼算法1、将所有结点放入集合K。2、若集合K中剩余结点大于2个,则取出其中权值最小的两个结点,构造他们同时为某个新节点的左右儿子,该新节点是他们共同的双亲结点,设定它的权值为其两个儿子结点的权值和。并将该父亲结点放入集合K。重复步骤2或3。3、若集合K中仅剩余一个结点,该结点即为构造出的哈夫曼树...
阅读全文
摘要:题目1467:二叉排序树题目描述:二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树:1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值;3. 左、右子树本身也是一颗二叉排序树...
阅读全文
摘要:辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。辗转相除法处理大数时非常高效,它需要的步骤不会超过较小数的位数(十进制下)的五倍。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。例如,求(319,37...
阅读全文
摘要:排序是最基本最常见的算法,你在编程的过程中会发现许多算法都是基于排序算法的转变。排序算法的分类如下图所示,我们这里仅仅介绍除基数排序外的内部排序算法,最简单最常见的7种排序算法。注*排序算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,则...
阅读全文

浙公网安备 33010602011771号