二叉鍊錶查詢

2021-09-02 23:06:38 字數 1170 閱讀 9162

有一棵二叉樹,其結點值為字元型並假設各值互不相等,採用二叉鍊錶儲存。現輸入其擴充套件二叉樹的前序遍歷序列,建立該二叉樹,要求在該二叉樹中查詢字元值為x的結點,找到x時,輸出x的相關資訊,沒找到x則輸出"not find"。

第一行為乙個整數n,表示以下有n組資料,每組資料佔兩行,每組第一行表示擴充套件二叉樹的前序遍歷序列;第二行表示待查詢的字元x。

若查詢成功,先輸出該結點的雙親值,再輸出其左右孩子值:(左孩子,右孩子),若其雙親或者孩子值為空輸出#;查詢失敗輸出「not find」。

4

ab#d##c##

aab#d##c##

bab#d##c##

dab#d##c##

g

#(b,c)

a(#,d)

b(#,#)

not find

#include#include#includeusing namespace std;

typedef struct binode binode,*bitree;

class tree

~tree()

void preorder()

bool find(char ch)

void parent(char ch) else

}void children(char ch) else }}

void release(bitree t)

}void preorder(bitree root)

}bitree creat() else

return bt;

}bitree temp;

bitree p;

void parent(bitree root,bitree p,char ch)

parent(root->lchild,root,ch);

parent(root->rchild,root,ch);}}

char rtemp,ltemp;

void children(bitree root,char ch)

children(root->lchild,ch);

children(root->rchild,ch);}}

};int main() else }}

return 0;

}

二叉鍊錶查詢

problem description 有一棵二叉樹,其結點值為字元型並假設各值互不相等,採用二叉鍊錶儲存。現輸入其擴充套件二叉樹的前序遍歷序列,建立該二叉樹,要求在該二叉樹中查詢字元值為x的結點,找到x時,輸出x的相關資訊,沒找到x則輸出 not find input 第一行為乙個整數n,表示以下...

二叉查詢樹《鍊錶實現》

thinking 第乙個結點作為根結點,然後接下來每個結點與根結點對比,如大於根結點則放右邊,小於根結點則放左邊,然後比較下乙個結點,知道遇到空節點則儲存 輸入樣例 96 3 8 5 2 9 4 7 10 輸出樣例 前序遍歷 6 3 2 5 4 8 7 9 10 include include us...

二叉樹 二叉鍊錶

include using namespace std typedef char elemtype int n 0 typedef struct binode binode class bitree bitree binode getroot void preorder binode root 前序...