void inordertreepointer ptr if ptr inorderptrlchild printfd ptrdata

  • Slides: 38
Download presentation

中序追蹤 void inorder(tree_pointer ptr) { if (ptr){ inorder(ptr->lchild); printf(“%d”, ptr->data); inorder(ptr->rchild); } } 圖

中序追蹤 void inorder(tree_pointer ptr) { if (ptr){ inorder(ptr->lchild); printf(“%d”, ptr->data); inorder(ptr->rchild); } } 圖 10. 15(b) 的中序追蹤的結果為DBGEHACFI。

前序追蹤 void preorder(tree_pointer ptr) { if (ptr){ printf(“%d”, ptr->data); preorder(ptr->lchild); preorder(ptr->rchild); } } 圖

前序追蹤 void preorder(tree_pointer ptr) { if (ptr){ printf(“%d”, ptr->data); preorder(ptr->lchild); preorder(ptr->rchild); } } 圖 10. 15(b) 的前序追蹤的結果為ABDEGHCFI。

後序追蹤 void postorder(tree_pointer ptr) { if (ptr){ postorder(ptr->lchild); postorder(ptr->rchild); printf(“%d”, ptr->data); } } 圖

後序追蹤 void postorder(tree_pointer ptr) { if (ptr){ postorder(ptr->lchild); postorder(ptr->rchild); printf(“%d”, ptr->data); } } 圖 10. 15(b) 的後序追蹤的結果為DGHEBIFCA。