摘要: 哈夫曼树的特点: 没有度为1的结点(每个非叶子结点都是由两个最小值的结点构成) n个叶子结点的哈夫曼树总共有2n-1个结点 n0:叶结点总数 n1:只有一个儿子的结点总数 n2:有2个儿子的结点总数 n2=n0-1 N=n0+n1+n2=2n-1 哈夫曼树的任意非叶结点的左右子树交换后仍是哈夫曼树; 阅读全文
posted @ 2017-04-25 14:34 锅里煮水 阅读(4909) 评论(0) 推荐(1) 编辑
摘要: 每次把权值最小的两棵二叉树合并 例如:1 2 3 4 5 生成的哈夫曼树如下 我们利用最小堆来获得两个最小的值,并把新的节点插入堆中。 也可以先排序,删除两个最小的,再把新值插入,但是效率没有最小堆高。 1 typedef struct TreeNode *HuffmanTree; 2 struct 阅读全文
posted @ 2017-04-25 14:20 锅里煮水 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 测试数据: 有尾巴不反转 地址取到上下界 正好全反转(K的整数倍) K=N全反转 边界测试 K=1不用反转 最大(最后剩K-1不反转)、最小N 有多余结点 阅读全文
posted @ 2017-04-25 10:47 锅里煮水 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 初始化链表:1 2 3 4 5 6 结果链表:4 3 2 1 5 6 【问题】将初始链表中的前k个逆转 阅读全文
posted @ 2017-04-25 10:41 锅里煮水 阅读(163) 评论(0) 推荐(0) 编辑