遍历概念 所谓遍历(Traversal)是指沿着某条搜索路线。依次对树中每一个结点均做一次且仅做一次訪问。訪问结点所做的操作依赖于详细的应用问题。 遍历是二叉树上最重要的运算之中的一个,是二叉树上进行其他运算之基础。 遍历方案 1.遍历方案 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子 ...
分类:
编程语言 时间:
2017-05-21 21:49:56
阅读次数:
186
头文件: #include <iostream> using namespace std; template<class Type> class Bintree; //结点类 template<class Type> class BintreeNode { friend class Bintree< ...
分类:
编程语言 时间:
2017-05-19 16:48:55
阅读次数:
244
大类有:数据结构、android\java、操作系统、Linux、C++、网络协议、SQL、网络编程。 细节部分: 数据结构:二叉树的子叶节点、分支点、深度;树的度;链表的存储;排序算法的时间复杂度和稳定性。 android\java:android 广播、内存泄漏、内存溢出、Textview不会失 ...
分类:
移动开发 时间:
2017-04-02 21:51:21
阅读次数:
202
遍历二叉树: 先序遍历 根节点 先序左子树 先序右子树 中序遍历 中序遍历左子树 根节点 中序遍历右子树 后序遍历 后序遍历左子树 后序遍历右子树 根节点 根节点 先序左子树 先序右子树 中序遍历左子树 根节点 中序遍历右子树 后序遍历左子树 后序遍历右子树 根节点 最优二叉树 赫夫曼树 未完。明天 ...
分类:
其他好文 时间:
2017-03-26 01:03:42
阅读次数:
141
系列文章:数据结构与算法系列——从菜鸟到入门 层次遍历 二叉树的层次遍历是指,从二叉树的第一层(根结点)开始,从上至下逐层遍历,在同一层中从左至右依次遍历。 按层打印 按层打印要求,在不同的层打印后加上换行。问题的关键就是如何知道该换行了。只需要两个 node 类型的变量 last 和 nlast ...
分类:
其他好文 时间:
2017-03-18 20:32:36
阅读次数:
157
简述 二叉树的遍历分为先序遍历、中序遍历和后序遍历。如下图所示: 递归遍历 递归遍历实现比较简单,递归利用函数栈来保存信息。 非递归遍历 非递归需要额外 先序遍历: 1.申请一个栈 stack。然后将头结点head压入 stack 中。 2.从 stack 中弹出栈顶结点,记为 cur,然后打印 c ...
分类:
其他好文 时间:
2017-03-17 23:33:45
阅读次数:
165
树与二叉树: 什么是树呢?就是一个节点上会有很多分叉的数据结构。一般的,对于一棵树,我们需要的结构体为一个数据块和几个指针块,这就相当于很多个链表交织在了一起,实际上,链表也可以算是一种特殊的树,而我要讲的,也是一种特殊的树——二叉树。 对于树的各个节点,都有两个属性,称为度(degree),他的意 ...
分类:
编程语言 时间:
2017-03-03 22:19:28
阅读次数:
248
本篇是上一篇赫夫曼树构建与编码的后续,稍微详细讲一下解码的算法。 Huffman解码算法流程: 1.定义指针p指向赫夫曼树结点,实际是记录结点数组的下标; 2.定义指针i指向编码串,定义ch逐个取编码串的字符; 3.初始化:读入编码串,设置p指向根结点,i为0; 4.执行以下循环: a)取编码串的第 ...
分类:
其他好文 时间:
2017-03-03 18:57:59
阅读次数:
150
用数组存储与前文是类似的,只是换了一个储存方式,有兴趣可以看一下下面的代码,具体就不解释了。 ...
分类:
编程语言 时间:
2017-03-02 18:18:55
阅读次数:
213