- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 赫夫曼树与赫夫曼编码
1.赫夫曼树也叫最优二叉树,n个权值构造一颗有n个叶子结点的二叉树,且使叶子结点带权路径长度之和最小,则得到一颗赫夫曼树。2.赫夫曼树的构造⑴给定n个权值,构成一个森林的集合F,F中初始为n颗只有一个根节点的二叉树,即n个权值。⑵每次从F中取出根节点权值最小的二叉树,作为左右子树,得到一颗新树(这里规范一下,左子树根节点权值小于右子树根节点权值,这样可以得到唯一的赫夫曼树)⑶将新树加入森林...
2019-05-14 11:10:38 1673
原创 二叉树的建立和遍历C++
1.二叉树知识点复习二叉树是不存在度大于2的结点的树,且结点的子树有左右之分⑴主要性质:①二叉树的第i层最多有2^(i-1)个结点。②一颗深度为k的二叉树最多有2^k-1个结点。③设一颗二叉树的结点数为n,其中度为0,1,2的结点分别为n0,n1,n2,则有n0=n2+1.(树枝数=n-1=n1+2*n2)④具有n的结点的完全二叉树,其深度k为logn取下整+1。⑵满二叉树:一颗k...
2019-05-12 21:42:53 1149 1
原创 欧几里得算法与扩展欧几里得算法(求二元一次不定方程、乘法逆元)
1.欧几里得算法,即辗转相除法。用于求两个整数的最大公约数比较方便,时间复杂度为O(logN)N为两个整数的规模。最大公约数,是能够同时被两个整数整除的最大整数。比如说,求56和21的最大公约数:(每行数分别代表a=56,b=21,a%b)56 21 1421 14 714 7 07 0此时得到最大公约数为7。递归代码如下:int gcd(int a, int b){ ret...
2019-05-04 20:07:13 3330
原创 前缀表达式与后缀表达式求法(栈的应用)
1.前缀、中缀、后缀表达式中缀表达式即为人们熟悉的数学运算式子写法。而前缀、后缀表达式是为了计算机计算方便的写法。前缀表达式是一种没有括号的算术表达式,与中缀表达式不同的是,其将运算符写在前面,操作数写在后面。后缀表达式则是将操作数写在前面,运算符写在后面。前缀表达式又称波兰表达式,后缀表达式又称逆波兰表达式。通过利用栈的特性,我们可以从中缀表达式得到前后缀表达式,轻松的计算出其结果。我们...
2019-05-04 12:17:55 17214 5
原创 C++中简单使用正则表达式
C++11可以使用正则表达式来解决字符串匹配查找替换问题,加入头文件regex。1.匹配bool regex_match(string s,regex pattern)bool regex_match(string s,smatch result,regex pattern)bool regex_match(s.cbegin()+i,s.cend(),smatch result,regex...
2019-05-03 21:46:07 9894
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人