
数据结构
文章平均质量分 70
侯舟帆
总要拼一把
展开
-
C++二叉搜索树的实现
二叉搜索树可以提供对数时间的插入和访问,其节点的放置规则是:任何一个节点的键值一定大于其左树节点的键值,而且小于其右树节点的值。#includeusing namespace std;struct tree //创建树节点 { int data; tree*left,*right;};class BST //创建二叉搜索树 { stati原创 2015-11-24 10:30:58 · 468 阅读 · 0 评论 -
C++先,中,后顺序遍历的非递归实现
二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(递归也是用栈实现的)。下面详细介绍三种遍历方式的非递归实现。先创建树节点struct tree //创建原创 2015-11-24 14:03:26 · 1369 阅读 · 1 评论 -
根据前序遍历和中序遍历求后序遍历
一道HULU的笔试题(How I wish yesterday once more)假设有棵树,长下面这个样子,它的前序遍历,中序遍历,后续遍历都很容易知道。PreOrder: GDAFEMHZInOrder: ADEFGHMZPostOrder: AEFDHZMG转载 2015-11-24 17:00:16 · 14930 阅读 · 1 评论 -
数据结构之哈夫曼树
数据结构之哈夫曼树 2011-08-14 15:26:48分类: C/C++数据结构之哈夫曼树1.哈夫曼树简介(1) WPL = 7*2+5*2+2*2+4*2 = 36; (1) WPL = 7*1+5*2+2*3+4*3 = 35;经过证明此为最小的WPL即为哈夫曼树在解转载 2015-12-14 00:32:03 · 811 阅读 · 0 评论 -
二叉树基本算法
二叉树基本算法,遍历以及求高度、宽度等路径//二叉树的相关算法,《数据结构习题与解析》7.3//算法 49个,代码量1200+ ,时间9小时 #include#include#include #define MaxSize 100 typedef char ElemType;typedef char SBTre转载 2015-11-27 18:19:05 · 2132 阅读 · 0 评论 -
根据遍历进行二叉树的还原
二叉树的三种遍历常用于恢复:先序,中序,后序。对于先+中,后+中这两种组合,对任意二叉树的恢复都有唯一解,但对先+后的情况则不是,这种情况下要满足要求:对所有非叶节点,其两个子节点都存在,也即,一个节点要么是叶节点,要么有两个节点。典型的恢复方法是递归建构节点的左,右子树。一个一个看:假设二叉树原型如下,为了方便,节点的值刚好等于层次遍历索引先序:1,2,4转载 2015-12-02 22:46:51 · 1114 阅读 · 0 评论