原帖由 holyzfy 于 2007-5-31 13:15 发表
InOrderTraverse(HT2+HT->lchild,HT2); //什么意思啊?
[code]
/*中序遍历HuffmanTree,输出其结点值,并对内部结点作标记*/
void InOrderTraverse(HuffmanTree HT,Huf ...
原帖由 holyzfy 于 2007-5-31 16:05 发表
这是别人的一段程序,能正确执行,由于没有注释,我也看不明白,又不能联系他本人,只能求助大家了,
递归调用很好理解,只是这句“InOrderTraverse(HT2+HT->lchild,HT2);”里的 参数搞不 ...
原帖由 MMMIX 于 2007-5-31 16:48 发表
理解算法(晦涩代码)的不二法门:几大张白纸 + 铅笔。
原帖由 holyzfy 于 2007-5-31 17:23 发表
呵呵,我也知道“大白纸 + 铅笔”,可也得先有个思路吧,我最想知道的是具体的解释,或者,一个说下算法思想也可以啊,~
诚恳求教
原帖由 MMMIX 于 2007-5-31 17:35 发表
许多东西别人是无法代替你的,例如说学习;同时许多东西也是无法速成的,例如基础;另外还有许多东西是需要积累的,例如经验。
原帖由 holyzfy 于 2007-5-31 13:15 发表
InOrderTraverse(HT2+HT->lchild,HT2); //什么意思啊?
[code]
/*中序遍历HuffmanTree,输出其结点值,并对内部结点作标记*/
void InOrderTraverse(HuffmanTree HT,Huf ...
原帖由 holyzfy 于 2007-5-31 18:56 发表
[code]
/****************************************************************************
文件名:Huffman.cpp
修改历史:
1.函数Output(HT,HC,n)的输出表示增加了制表位
2.修改Select(H ...
HT.png (10.16 KB, 下载次数: 32)
内存示意图
1.45 KB, 下载次数: 15
dia图片
原帖由 holyzfy 于 2007-5-31 22:07 发表
终于联系到写这段程序的本人了,呵呵,还是个女的~,她说的意思是HT2+HT->lchild可以看成是HT2[HT->lchild],这样就好理解了,可是改后并不能直接用,编译器提示“ error C2664: 'InOr ...
原帖由 ailantian 于 2007-6-1 09:08 发表
我觉得她的那个代码写的比较晦涩,
我想如果是我写,我可能应该是用指针,而不是用整形来表示那个地址。虽然可以用,
但是程序不好理解。
原帖由 lenovo 于 2007-6-1 09:17 发表
用整数就是为了避免使用指针。
我觉得理解起来不算难吧,
如果你学过数据结构。
原帖由 ailantian 于 2007-6-1 12:21 发表
呵呵,如果是我还是会用指针,
像树,链表,当然你可以用整数构造,但是我觉得移植性可能不好吧。
内存地址不一定和int型相同。
再说这样的数据结构本身是链状结构,用链不是更容易理解一些吗。
不过要 ...
原帖由 lenovo 于 2007-5-31 22:17 发表
明白就好。
给你4个字母,
分别是a,b,c,d,
权重分别为3,4,5,6。
程序的输出是多少?
原帖由 redbison 于 2007-6-4 14:03 发表
lenovo的这个题目权重太平均了吧!至少也要有点层次区别才体现Huffman Code的特点呀!期末考试出这样的题目课程负责人回提意见的。
![]()
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |