参照书上写的Huffman树的代码 结构用的是线性存储的结构 不是二叉链表
里面要用到查找最小和第二小 理论上锦标赛法比较好 但是实现好麻烦啊 考虑到数据量不是很大 就直接用比较笨的先找最小 去掉最小再找第二小的方法了。#include
#include #include typedef struc...
分类:
其他好文 时间:
2014-05-26 14:00:45
阅读次数:
256
思路:这道题目关键在于不能创建新的节点,如不然,我们可以直接将二叉排序树中序遍历保存到一个数组中,而后再建立一个双性链表,将数据保存到双向链表里。
这里不能创建新节点,我们只能改变节点的指向左右子树的节点,让其变为指向二叉链表中的前后节点,很明显这里同样用的是中序遍历,因此这道题目依然是中序遍历的变种,中序递归构造实现即可,每次递归都保存一个指向已构造好的双向链表的尾节点的指针,将其与下一个节点连接起来。
另外,这道题OJ的输出格式与前面的不同,输出样例中又没有说明,我试了三次才AC,前两次...
分类:
其他好文 时间:
2014-05-26 05:21:59
阅读次数:
189
节点形态:
实现:
/******************************************
二叉树的二叉链表存储
by Rowandjj
2014/5/18
******************************************/
#include
using namespace std;
/*二叉树的二叉链表存储表示*/
typedef int T...
分类:
其他好文 时间:
2014-05-22 07:03:21
阅读次数:
229
前一篇写了二叉树的先序遍历,本篇记录一下二叉树的中序遍历,主要是非递归形式的中序遍历。由于距离上篇有好几天了,所以这里把二叉树的创建和存储结构也重复的写了一遍。二叉树如下二叉树的存储方式依然是二叉链表方式,其结构如下typedef
struct _tagBinTree{ unsigned ch...
分类:
其他好文 时间:
2014-05-07 10:17:50
阅读次数:
335