二叉树链式存储中的四种遍历方法

Posted lzdxh027

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树链式存储中的四种遍历方法相关的知识,希望对你有一定的参考价值。

  1. void InorderTraversal( BinTree BT )
  2.     if( BT ) 
  3.         InorderTraversal( BT->Left );
  4.         /* 此处假设对BT结点的访问就是打印数据 */
  5.         printf("%d ", BT->Data); /* 假设数据为整型 */
  6.         InorderTraversal( BT->Right );
  7.     
  8.  
  9. void PreorderTraversal( BinTree BT )
  10.     if( BT ) 
  11.         printf("%d ", BT->Data );
  12.         PreorderTraversal( BT->Left );
  13.         PreorderTraversal( BT->Right );
  14.     
  15.  
  16. void PostorderTraversal( BinTree BT )
  17.     if( BT ) 
  18.         PostorderTraversal( BT->Left );
  19.         PostorderTraversal( BT->Right );
  20.         printf("%d ", BT->Data);
  21.     
  22.  
  23. void LevelorderTraversal ( BinTree BT )
  24.  
  25.     Queue Q; 
  26.     BinTree T;
  27.  
  28.     if ( !BT ) return/* 若是空树则直接返回 */
  29.      
  30.     Q = CreatQueue(); /* 创建空队列Q */
  31.     AddQ( Q, BT );
  32.     while ( !IsEmpty(Q) ) 
  33.         T = DeleteQ( Q );
  34.         printf("%d ", T->Data); /* 访问取出队列的结点 */
  35.         if ( T->Left )   AddQ( Q, T->Left );
  36.         if ( T->Right )  AddQ( Q, T->Right );
  37.     

以上是关于二叉树链式存储中的四种遍历方法的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 二叉树

二叉树链式存储和遍历

数据结构 二叉树

数据结构(13)---二叉树之链式结构(前序遍历, 中序遍历, 后序遍历, 层序遍历)

10 二叉树-链式存储-递归遍历

二叉树的创建与遍历(链式存储)