
数据结构
君骚兮
一天比一天进步
展开
-
天勤8套卷1——数据结构篇
中缀表达式求表达式值定义两个栈,stack1存储数字,stack2存储运算符。扫描中缀表达式:(1)若为数字则进栈stack1(2)若为运算符‘(’直接进栈stack2; 若为运算符‘)’则将栈里的运算符一个个出栈,弹出stack1的两个数字进行运算结果再入stack1,直到遇到‘(’并将其删除; 若为其他运算符,弹出stack2中所有的优先级大于等于该运算...原创 2019-12-01 12:45:25 · 1163 阅读 · 0 评论 -
哈夫曼树
带权路径长度结点的带权路径长度:从树根结点到该结点的路径长度(经过的边数)与该结点上权值的乘积。树的带权路径长度是指树中所有叶结点带权路径长度之和。k叉哈夫曼树的构造n个数构造k叉哈夫曼树:n=n0;n0+nk=n0+knk+1;故n0=(k-1)nk+1首先,判断(n-1)%(k-1)是否等于0,若不等于零,补充一些权值为0的结点使得等式成立。此时有N个叶结点开始...原创 2019-11-28 15:50:27 · 2976 阅读 · 1 评论 -
中缀表达式转换为后缀表达式
中缀表达式转换为后缀表达式的算法思想如下:从左向右开始扫描中缀表达式;遇到数字时,加入后缀表达式;遇到运算符时: 若为‘(’,入栈; 若为‘)’,则依次把栈中的运算符加入后缀表达式中,直到出现‘(’,从栈中删除‘(’; 若为除括号以外的运算符,当其优先级高于除‘(’以外的栈顶运算符时,直接入栈。否则,从栈顶开始,依次弹出比当前处理的运算符优先级高和优先级相等的运算符...原创 2019-11-27 09:57:05 · 148 阅读 · 0 评论 -
输入、输出受限的双端队列
输入受限的双端队列输出受限的双端队列很显然,受限的是后端;对于输入受限的双端队列后端不能输入,输出受限的双端队列后端不能输出。进队时,前端进的元素排列在队列中后端进的元素的前面。...原创 2019-11-10 16:52:31 · 2662 阅读 · 0 评论 -
最小生成树
生成树一个连通图的生成树是图的极小连通子图,它包含图中的所有顶点,并且只含有尽可能少的边。解释:连通图G的生成树为g,则g中包含G中所有顶点,g的边集是G的边集的子集(因为g是G的子图);g是连通的;g砍去一条边会变成非连通(极小就是包含G中尽可能少的边让g称为连通图)g再增加一条边会产生一条回路;g没有回路,一个顶点到另一个顶点只有一条路径;g的顶点数为n,则边数...原创 2019-10-24 16:50:53 · 644 阅读 · 0 评论 -
卡特兰数
卡特兰数设h(n)为catalan数的第n+1项,令h(0)=1,h(1)=1,catalan数满足地推式:h(n)=h(0)*h(n-1)+h(1)*h(n-2)+.....+h(n-1)*h(0) (n>=2)递推关系的解为h(n)=C(2n,n)/(n+1)应用一个栈(无穷大)的进栈序列为1,2,3....n,有多少个不同的出栈序列?分析...原创 2019-10-24 15:02:05 · 3023 阅读 · 0 评论