
这是二叉树创建并中序遍历的程序可是一直有错
#include
by xiaolifeidaotom - C/C++ - 2008-10-21 22:00:58 阅读(991) 回复(4)
[code]def isnum(a): if type(a)==type(1): return True return False def first_root(a): print a[1],'-', if isnum(a[0]): print a[0],'-', else: first_root(a[0]) if isnum(a[2]): print a[2],'-', else: first_root(a[2]) def middle_root(a): if isnum(a[0]): print a[0],'-', else: middle_root(a[0]) print a[1],'-', ...
费了两天时间写的,包括前中后序遍历的递归和非递归算法,还有层序遍历总共2*3 + 1 = 7中遍历二叉树的算法,感觉其中后序遍历的非递归算法比较困难,想了很久最后的实现还是不够优雅,请大家指正~~ 总共三个文件,一个头文件,一个对应的cpp文件,还有一个用于测试的文件. BinaryTree.h: [code] /******************************************************************** created: 2006/07/04 filename: BinaryTree.h author: 李创 ...
要求是这样的 现在我申请了一块共享内存 然后我有一个结构 struct A { int a; char b[10]; }; 我现在想在共享内存中建一个二叉树,把这样的结构当作结点插进去 不知道应该怎么操作啊 谢谢大家了
#include
看了版主converse写的二叉树的递归与非递归遍历
http://www.cppblog.com/converse/archive/2006/07/08/9577.html
其中, 版主写到:
"感觉其中后序遍历的非递归算法比较困难,想了很久最后的实现还是不够优雅"
俺也写了一个玩玩, 功能一样, 但是思路不一样, 呵呵
[code]
#include
.................f .............../ \ .............d....e ............/ \ ...........a...c .................\ ..................b 后序遍历线索树顺序是a b c d e f,a线索b,b线索c,c如何前进到d?
以中序遍历为例: void ProOrder(BT root) { if(root==NULL) return; else{ printf("%d",root->;data); ProOrder(root->;left); ProOrder(root->;right); } } 用没有哪位大侠可以详细的讲解一下,这个是如何递归调用并打印的? 我看了好久,用点似懂非懂,脑袋瓜实在是大!