二叉鍊錶查詢

2021-09-02 10:49:30 字數 1113 閱讀 9280

problem description

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

input

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

output

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

sample input

4ab#d##c##

aab#d##c##

bab#d##c##

dab#d##c##

gsample output

#includeusing namespace std;

struct binode

;binode *creat()

return root;

}binode *haizi(binode *root,char x)

else

}} else

return null;

}binode *parent(binode *root,char x)

else }

else

return null;

}int main()

;binode *creat()

bt->rchild=creat();

if(bt->rchild)

}return bt;

}void release(binode *bt)

}binode *locate(binode *bt,char x)

return locate(bt->rchild,x);

} else return null;

}int main ()

else

cout<<"not find"

} return 0;

}

二叉鍊錶查詢

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