数据结构——树的基础知识
Adherer
sunshine
展开
-
树,二叉树的一些基础知识以及二叉树的建立,存储操作
首先,我们要明白,什么是树?这是大自然中一棵树的模型照片而在数据结构中的树,会是什么样的结构呢?树形结构广泛存在我们的现实生活里,下面两张图你一定不陌生吧,第一张是 Linux 文件系统结构,第二张是美国福特汽车公司的汽车家谱图。类似的树形结构还有很多,他们都可以抽象成数据结构里的树。和自然界里的树有所类似又有所不同,他们都有且仅有一个树根,树上的元素都是从树根衍生出来的。不同原创 2016-03-02 16:21:18 · 1280 阅读 · 0 评论 -
二叉树的先序,中序,后序遍历实现
首先,我们要了解一下,二叉树三种遍历算法的定义:1.先(根)序遍历的递归算法定义:若二叉树非空,则依次执行如下操作:⑴ 访问根结点;⑵ 遍历左子树;⑶ 遍历右子树。2.中(根)序遍历的递归算法定义:若二叉树非空,则依次执行如下操作:⑴遍历左子树;⑵访问根结点;⑶遍历右子树。3.后(根)序遍历得递归算法定义:若二叉树非空,则依次执行如下操作:⑴遍历原创 2016-03-03 21:50:02 · 1047 阅读 · 0 评论 -
哈夫曼编码问题再续(下篇)——优先队列求解
上篇描述了哈夫曼编码问题的基本描述以及建造一个哈夫曼树的过程分析,那么当算法已经描述清楚之后,我们要怎么样来实现代码呢?或者说,给你一些带有权值的叶子节点,要怎么样利用程序快速算出所对应的哈夫曼树的带权路径WPL呢?我们首先回顾一下上篇讲到的那个问题:例如有这一个字符串“good good study day day up”,现在我们要对字符串进行哈夫曼编码,该字符串一共有 26原创 2016-03-30 22:21:20 · 2809 阅读 · 1 评论 -
poj3253——哈夫曼树思想 + 优先队列解决
题目链接:Fence Repair题目描述:Fence RepairTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 37099 Accepted: 12013DescriptionFarmer John wants to rep原创 2016-03-31 00:27:51 · 788 阅读 · 0 评论 -
二叉树先序,中序,后序遍历之间的相互求法
首先,我们要明白,什么是树?这是大自然中一棵树的模型照片而在数据结构中的树,会是什么样的结构呢?树形结构广泛存在我们的现实生活里,下面两张图你一定不陌生吧,第一张是 Linux 文件系统结构,第二张是美国福特汽车公司的汽车家谱图。类似的树形结构还有很多,他们都可以抽象成数据结构里的树。和自然界里的树有所类似又有所不同,他们都有且仅有一个树根,树上的元素都是从树根衍生原创 2016-03-06 23:22:01 · 3708 阅读 · 0 评论 -
哈夫曼树和哈夫曼编码基本概念及构造(上篇)
1.哈夫曼编码的起源:哈夫曼编码是 1952 年由 David A. Huffman 提出的一种无损数据压缩的编码算法。哈夫曼编码先统计出每种字母在字符串里出现的频率,根据频率建立一棵路径带权的二叉树,也就是哈夫曼树,树上每个结点存储字母出现的频率,根结点到结点的路径即是字母的编码,频率高的字母使用较短的编码,频率低的字母使用较长的编码,使得编码后的字符串占用空间最小。2.哈夫曼树构造原创 2016-03-12 10:58:08 · 5770 阅读 · 0 评论