26847: 二叉树的遍历

原创 2015年07月10日 09:46:02

题目描述
建立二叉树,然后实现:输出先序遍历、中序遍历、后序遍历的结果。
输入
第一行:结点个数n。
以下行:每行3个数,第一个是父亲,后两个依次为左右孩子,0表示空。
输出
输出:根、先中后序遍历结果。
样例输入

8
1 2 4
2 0 0
4 8 0
3 1 5
5 6 0
6 0 7
8 0 0
7 0 0


样例输出

3
3 1 2 4 8 5 6 7 
2 1 8 4 3 6 7 5 
2 8 4 1 7 6 5 3 


program p26847;
type
  treetype=record
       father:integer;
       lch,rch:integer;
   end;
var
  tree:array[1..200] of treetype;
  n,m,t:integer;
  procedure init;
    var f,l,r,i:integer;
    begin
       readln(n);
      for i:=1 to n do
        begin
          readln(f,l,r); tree[f].lch:=l; tree[f].rch:=r;
          if l<>0 then tree[l].father:=f;
          if r<>0 then tree[r].father:=f;
        end;
    end;
 function root:integer;
    var i:integer;
    begin
      for i:=1 to n do
        if tree[i].father=0 then
          begin
            root:=i;
            exit;
          end;
    end;
procedure preorder(t:integer);
    begin
      if t<>0 then
        begin
          write(t,' ');
          preorder(tree[t].lch);
          preorder(tree[t].rch);
        end;
    end;
  procedure inorder(t:integer);
    begin
      if t<>0 then
        begin
          inorder(tree[t].lch);
          write(t,' ');
          inorder(tree[t].rch);
        end;
    end;
procedure sucorder(t:integer);
    begin
      if t<>0 then
        begin
          sucorder(tree[t].lch);
          sucorder(tree[t].rch);
          write(t,' ');
        end;
    end;
begin
  init;
  t:=root;
  writeln(t);
  preorder(t);writeln;
  inorder(root);writeln;
  sucorder(t);
end.

版权声明:本文为博主原创文章,未经博主允许不得转载。

二叉树的遍历算法

  • 2015年01月11日 11:42
  • 1KB
  • 下载

C语言:线索二叉树的线索化及其遍历实现

前序和中序遍历都实现了,后序线索化还不是很明白!如有大神看到,望指正!不胜感激! // 中序线索二叉树实现.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #...

二叉树类实现,包含层次遍历

  • 2015年05月17日 13:12
  • 210KB
  • 下载

二叉树的各种遍历操作

  • 2014年11月18日 20:57
  • 3KB
  • 下载

二叉树 递归 非递归 遍历 C语言 可直接运行

/************************* 声明区 *************************/ #include #include #define OK true #define ...

二叉树的三种遍历

  • 2015年08月20日 22:13
  • 2KB
  • 下载

二叉树及其遍历

  • 2016年01月17日 15:57
  • 1KB
  • 下载

二叉树三种遍历的非递归思路(JAVASCRIPT)

二叉树在图论中是这样定义的:二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。然而,没有足够的信...

二叉树的三种遍历

  • 2015年06月09日 15:08
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:26847: 二叉树的遍历
举报原因:
原因补充:

(最多只允许输入30个字)