200分求够树(非二叉树)的遍历算法!!!急!急!急!(200分)

  • 主题发起人 主题发起人 aceplus
  • 开始时间 开始时间
200分求够树(非二叉树)的遍历算法!急!急!急!(内空)
 
请把够树的结构讲清楚!让我来搞定
 
其实是 Delphi 里的 TTreeNodes ,不过仅是其中的子树,我找遍所有的
帮助,都没有相关的方法?
 
是否可以考虑先将树转化为二叉树,再对此二叉树进行遍历,就可用多种形式遍历
如:先序,中序,后序,层次。
 
TO:shadowp
不能啊!其中有严格的层次关系!!!
 
有两种方法,一种是深度优先,一种是广度优先,前者利用递归,后者利用两个队列,具体算法
请参见数据结构(清华版本的)中的例子.
 
重复的问题!
<a href="DispQ.asp?LID=372411" title="来自:unrealc">这样的树(不是TreeView)怎样遍历.</a>
 
还是帮你贴过来吧。

递归访问。《数据结构》里的二叉树的例子,稍加改造就行了。
二叉树前序遍历是先访问根,再依次递归访问左右儿子,这里改为先访问根,再循环递归
访问所有儿子。

var
List: TList; // Global variable
...
procedure Tranverse(Node: TreeNode);
var
I, Count: Integer;
begin
List.Add(Node);
Count := Node.ChildNodeCount;
for I:=0 to Count-1 do
Tranverse(Node.GetChildNode(I));
end;
OK ?
From: BaKuBaKu
 
多人接受答案了。
 
后退
顶部