
C++-栈
fengasdfgh
这个作者很懒,什么都没留下…
展开
-
栈的弹出序列是否与压入序列匹配?
我的同学问了我这样一道题: 输入两个序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设序列1,2,3,4,5是某栈的压入序列,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。这里必须假设2个序列的长度一样,并且不可能出现重复字符(不然的话会变得复杂,没有必要这么做)这种题目的方法也是很多的,你可以模拟栈的压入压出,原创 2016-10-23 11:02:11 · 633 阅读 · 0 评论 -
哈夫曼树以及哈夫曼编码
哈夫曼树的主要用途就是来生成字符对应的哈夫曼编码以达到压缩文件的目的。 哈夫曼树的每个叶节点的权值代表该字符在文本中出现的次数,每个父节点的权值等于左子树叶节点与右子树叶节点的权值之和,那么根节点的权值是所有字符出现的总次数。 那么如何得出哈夫曼编码?我们设向右走为1, 向左走为 0。那么我们可以这样表示字符: 则a表示为0。我们从下向上来构建这棵树的话。有2种思路,你可以构建成这样 这原创 2016-10-24 03:39:04 · 1233 阅读 · 0 评论