树
kelvinmao
这个作者很懒,什么都没留下…
展开
-
二叉树复习以及部分常见习题
今天复习了二叉树的链式存储结构,又发现了之前忽略的一些细节问题,现在总结整理如下问题一: 在字符串赋值函数中,未将全局变量初始化造成错误,说明对全局变量理解不够深入,错误代码及改正如下:Status StringAssign(String S,char * chars){ int index=1;/*2016-05-11 惊奇的发现这句很重要,找了半天才发现这个错误*/ if(s原创 2016-05-11 11:15:16 · 905 阅读 · 0 评论 -
二叉树顺序存储的实现
在实现二叉树的顺序存储的过程中,遇到了一些问题,现记录如下:#include<stdio.h>#include<stdlib.h>#include<math.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100/*存储空间初始分配量*/#define MAX_TREE_SIZE 10原创 2016-04-30 20:25:59 · 4982 阅读 · 0 评论 -
二叉树链式存储的C实现
在实现二叉树的链式存储的过程中,我遇到了一些问题,感到对递归的理解还不够深入。另外,代码中有一处必须使用全局变量做数组索引,还在研究其中的原因,代码已完成,现在贴在博客中供参考#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#define MAXSIZE 100#define OK 1#define原创 2016-05-01 20:07:47 · 1695 阅读 · 0 评论 -
二叉树几种遍历算法的非递归实现
二叉树遍历的非递归实现相对于递归遍历二叉树,非递归遍历显得复杂了许多,但换来的好处是算法的时间效率有了提高。下面对于我学习非递归遍历二叉树算法的过程进行总结为了便于理解,这里以下图的二叉树为例,分析二叉树的三种遍历方式的实现过程。 一.非递归实现二叉树的前序遍历不借助递归,要实现二叉树的前序遍历,我们需要用到前面学过的栈这种数据结构。根据前序遍历的定义,先访问根节点,再访问左子树,最后访问右子树原创 2016-05-15 11:43:32 · 18073 阅读 · 0 评论 -
霍夫曼树及霍夫曼编码的C语言实现
从周五开始学习霍夫曼树,一直到今天终于完成,期间遇到了各种各样的棘手的问题,通过一遍遍在纸上分析每一步的具体状态得以解决。现在对学习霍夫曼树的过程加以记录首先介绍霍夫曼树霍夫曼树(Huffman Tree),又称最优二叉树,是一类带权路径长度最短的树。假设有n个权值{w1,w2,…,wn},如果构造一棵有n个叶子节点的二叉树,而这n个叶子节点的权值是{w1,w2,…,wn},则所构造出的带权路径长度原创 2016-05-08 21:15:32 · 38542 阅读 · 0 评论 -
面试中关于二叉树的常见习题(持续更新)
这两天看了几篇关于面试中关于二叉树的常见问题,感到思路得到了很大的拓展,对递归的理解也更加深入,下面将问题及代码总结如下:Q1:求二叉树第k层的结点个数 A:递归思路:空树返回0;只有根节点返回1;其余情况对左右子树进行递归,返回左右子树(k-10层)结点数之和/*求二叉树第k层的结点个数*//*空树返回0,只有根节点返回1,其余情况对左右子树进行递归,返回左右子树(k-10层)结点数之和*/原创 2016-05-18 09:53:40 · 881 阅读 · 0 评论