最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。
希望这些能提供给初学者一些参考。
在VC++6.0下可运行,当初还写了不少注释。
可以和 (编程训练)再回首,数据结构——二叉树的前序、中序、后序遍历(递归) 对比着看
【问题描述】
根据顺序存储结构建立二叉树的二叉链表,并对二叉树进行先序、中序、后序遍历。...
分类:
其他好文 时间:
2015-05-28 14:15:50
阅读次数:
157
这是书中序言的内容,我觉得作者的思维好跳跃,没有见过序言这么写的,真的令人耳目一新。 在解决“问题”之前,Weinberg首先抛出六个问题(真够多的)。 这是一本薄薄的书,书是由一个个小故事组成,所以也适合用这种方式来阅读。 应该承认我看得不够认真,没有仔细消化书中的“问题”,但是我已经从书中...
分类:
其他好文 时间:
2015-05-27 20:43:25
阅读次数:
122
利用一棵二叉树的中序遍历的结果数组和后续遍历的结果数组复原该树:采用分治策略,解析如下图:如图:中序遍历数组的division特征为左(0 --> x) 根(x + 1) 右(x + 2 --> length - 1) 后序遍历数组的division特征为左(0 --> x) 根(x + 1 ...
分类:
其他好文 时间:
2015-05-27 11:46:53
阅读次数:
125
二叉查找树性质设x是二叉查找树中的一个结点,如果y是x的左子树中的一个结点,则k[y]=k[x]1 //中序遍历算法,输出二叉查找树T中的全部元素2 INORDER-TREE-WALK(x)3 if x!=nil4 then INORDER-TREE-WALK(left[x])5 ...
分类:
编程语言 时间:
2015-05-26 22:59:04
阅读次数:
114
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于...
分类:
其他好文 时间:
2015-05-26 14:15:31
阅读次数:
191
在《Python笔记(三)》中,我记录关于Python中序列问题的知识。个人觉得确实比Java中的集合框架简单。之前也说了,Python是一种高级面向对象的语言,它的每一个变量都称为对象。今天我接触了面向对象的编程。下面是这篇博客的目录: 1.类与对象 2.输入输出 3.异常 类与对象:...
分类:
编程语言 时间:
2015-05-25 22:10:16
阅读次数:
225
题目:给出两棵二叉查找树,有序输出所有元素,时间复杂度O(n),空间复杂度O(h),h为树的高度此题就是把两棵二叉查找树的中序遍历过程结合在一起。structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left...
分类:
其他好文 时间:
2015-05-25 20:02:48
阅读次数:
100
#include
#include
using namespace std;template
struct Node
{
Type data;
Node *left;
Node *right;
Node(Type d = Type()):data(d),left(NULL...
分类:
编程语言 时间:
2015-05-25 18:50:34
阅读次数:
201
这里我们主要讲二叉排序树的操作:什么是二叉排序树?
或者是一棵空树
或者是具有一下性质的二叉树:
a.若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值;
b.若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
c.它的左、右子树也分别为二叉排序树
Tip : 中序(左根右)遍历二叉排序树会得到一个关键字的递增有序序列二叉排序树的操作——查找查找步骤:
若查找的关键字等于...
分类:
其他好文 时间:
2015-05-24 14:20:51
阅读次数:
229
这几日又把二叉树的递归写了一遍,原来是用C写的,自己写了一个栈,这一次直接用的C++,使用了自带的栈结构。代码如下: 1 /************************************************************************* 2 > Au...
分类:
其他好文 时间:
2015-05-24 00:03:30
阅读次数:
172