摘要:
排序二叉树即在构建二叉树的时候就对二叉树进行排序了,当中序遍历二叉树的时候即可得到一个有序的数列; 排序二叉树的规则就是: 若他的左子树不空,则左子树上所有结点的值均小于它的根结构的值; 若他的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树; 从二叉排序树的定义也可以知道,它前提是二叉树,然后它采用了递归的定义方法,再者,它的结点间满足一定得次序关系,左子树结点一定比其双亲结点小,右子树结点一定比其双亲结点打。 代码实现如下: 1 void Create_Sort_Tree(BiTree **t, int value) 2 { 3 ... 阅读全文
摘要:
二叉树的数据结构:1 typedef struct BiTree{2 char item;3 struct BiTree *lchild,*rchild;4 }BiTree; 构建一个二叉树: 为了能让每个结点确认是否有左右孩子,我们要对二叉树进行扩展,变成上图的样子。也就是,将二叉树的每个结点的空指针引出的一个虚节点,其值为一特定值,比如“1”。我们称这种处理后的二叉树为原二叉树的扩展二叉树。 有了扩展二叉树就可以进行二叉树的构建了,笔者选择的是先序构建二叉树: 1 void CreateBiTree(BiTree **T) 2 { 3 char ch; 4... 阅读全文