
数据结构与算法
文章平均质量分 69
嚣张.miner
一心想赚钱
展开
-
最优二叉树-哈夫曼树
关于最优二叉树, 一开始看书 , 做题 还是蒙的 后来多做几题大致就懂得了 , 百度百科给出的官方定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。哈夫曼树又称为最优树.关于几个名词的解释如下:1、路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从原创 2021-05-07 07:42:54 · 1354 阅读 · 1 评论 -
后缀表达式计算求值
上一篇文章中中缀表达式 转 后缀表达式 说明了中缀表达式 转化为后缀表达式的过程, 此篇文章 讲述一下后缀表达式的计算是如何计算的根据百度百科中描述的计算方法:新建一个表达式,如果当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里的就是结果。比如一个后缀表达式: 6 3 7 4 - * + 8 2 / - 求值:所以栈中11 就是求值结果, 它和它的中缀表达式( (6+3*(7-4))-8/2 )的结果也是一致的...原创 2021-04-10 18:18:40 · 309 阅读 · 1 评论 -
中缀表达式 转 前缀表达式
上一篇文章讲述了 中缀表达式 转成 后缀表达式接着说 中缀表达式 转 前缀表达式原理相同中缀表达式: (6+3*(7-4))-8/21.直接转换法确定表达式的运算方式, 加括号, 给每一次能运算的都加上:(6+(3*(7-4)))-8/2(6+(3*(7-4)))-(8/2)((6+(3*(7-4)))-(8/2))从最里面的一层括号开始运算,转换成后缀表达式的方法为:(忽略括号)符号在前,数字在后(7-4) => -74(3*(7-4)) => (3原创 2021-03-30 18:36:37 · 16821 阅读 · 2 评论 -
中缀表达式 转成 后缀表达式
中缀表达式将运算符写在两个操作数中间的表达式 eg: (6+3*(7-4))-8/2后缀表达式将运算符写在操作数之后, 逆波兰式(Reverse Polish notation,RPN,或逆波兰记法),也叫后缀表达式 eg: 6 3 7 4 - * + 8 2 / -前缀表达式将运算符写在两个操作数之前的表达式 eg: - + 6 * 3 - 7 4 / 8 2中缀表达式转换成后缀表达式eg. (6+3*(7-4))-8/21.直接转换法确定表达式的运算方式, 加括号, 给每一次能原创 2021-03-30 16:41:11 · 25598 阅读 · 0 评论