試直接利用棧的基本操作寫出先序遍歷的非遞迴

2021-05-25 17:12:53 字數 543 閱讀 1212

要求實現下列函式:

void preorder(bitree bt, void (*visit)(telemtype));

/* 使用棧,非遞迴先序遍歷二叉樹bt,    */

/* 對每個結點的元素域data呼叫函式visit */

二叉鍊錶型別定義:

typedef struct bitnode bitnode, *bitree;

status initstack(stack &s);

status stackempty(stack s);

status push(stack &s, selemtype e);

status pop(stack &s, selemtype &e);

status gettop(stack s, selemtype &e);

void preorder(bitree bt, void (*visit)(telemtype))

/* 使用棧,非遞迴先序遍歷二叉樹bt, */

/* 對每個結點的元素域data呼叫函式visit */

二叉樹,讓你快速寫出來的先序,中序,後序遍歷

二叉樹 每個結點至多只有二棵子樹 不存在度大於 2的結點 二叉樹的子樹有左右之分,次序不能顛倒。先序遍歷 先訪問根結點,然後先序遍歷左子樹,最後 再先序遍歷右子樹 中序遍歷 先中序遍歷左子樹,然後訪問根結點,最後再中序遍歷右子樹 後序遍歷 先後序遍歷左子樹,然後後序遍歷右子樹,最後再訪問根結點 1....

輸出利用先序遍歷建立的二叉樹中的指定結點的孩子結點

利用先序遞迴遍歷演算法建立二叉樹並輸出該二叉樹中指定結點的兒子結點。約定二叉樹結點資料為單個大寫英文本元。當接收的資料是字元 時表示該結點不需要建立,否則建立該結點。最後再輸出建立完成的二叉樹中的指定結點的兒子結點。注意輸入資料序列中的 字元和非 字元的序列及個數關係,這會最終決定建立的二叉樹的形態...

輸出利用先序遍歷建立的二叉樹中的指定結點的雙親結點

輸出利用先序遍歷建立的二叉樹中的指定結點的雙親結點 1000 ms 10000 kb 2874 6795 利用先序遞迴遍歷演算法建立二叉樹並輸出該二叉樹中指定結點的雙親結點。約定二叉樹結點資料為單個大寫英文本元。當接收的資料是字元 時表示該結點不需要建立,否則建立該結點。最後再輸出建立完成的二叉樹中...