資料結構 靜態查詢表

2021-09-29 19:30:46 字數 3245 閱讀 6376

此為本人在學習資料結構時所寫的,各個功能能夠實現,有demo,node.h,tree.h,tree.cpp四個檔案,使用說明如下:

按照要求,先進行建樹操作

然後按照輸出的介面選擇查詢操作即可

輸入的資料6;5 4 2 1 3 6。

表示建立了一棵二叉鍊錶樹:

54 6

21 3

在查詢時輸入:1,則進行查詢,由於1存在於bst中,在查詢過程中進行了四次比較,故輸出:1 4

demo檔案

#include

#include

#include

"node.h"

#include

"tree.h"

using

namespace std;

intmain()

t=newnode

(aa[0]

);//定義根節點

rt.setroot

(t);

for(

int i=

1;i)break;}

case2:

rt.zhongxu

(t);

cout

case3:

rt.qianxu

(t);

cout

case4:

rt.houxu

(t);

cout

case5:

node* xiao=rt.

min(t)

; node* da=rt.

max(t)

; cout<<

"最大值:"

<>

reit()

<<

" 最小值:"

<>

reit()

case6:

cout<<

"請輸入要查詢的值:存在的話將會返回原值"

>a;

node* z=rt.

find

(t,a);if

(z==

null

)else

break;}

case0:

default:}

goto a;

}

node.**件

#ifndef node_h

#define node_h

#include

#include

using

namespace std;

class

node

intreit()

//返回當前結點值

node*

releft()

//返回左孩子位址

node*

reright()

//返回右孩子位址

void

seti

(int i)

//給it賦值

void

setl

(node* l)

//給左子節點賦值

void

setr

(node* r)

//給右子節點賦值};

#endif

tree.**件

#ifndef tree_h

#define tree_h

#include

"node.h"

#include

using

namespace std;

class

tree

:public node

void

zhongxu

(node* x)

;//中序遍歷

void

qianxu

(node* x)

;//前序遍歷

void

houxu

(node* x)

;//後序遍歷

node*

find

(node* x,

int k)

;//查詢元素

intfindn

(node* x,

int k)

;//查詢次數

node*

min(node* x)

;//最小值

node*

max(node* x)

;//最大值

void

insert

(node* t,node* z)

;//插入

void

delet

(node* t,node* z)

;//刪除 };

#endif

tree.cpp檔案

#include

"tree.h"

#include

#include

int n=0;

using

namespace std;

void tree::

zhongxu

(node* x)

}void tree::

qianxu

(node* x)

}void tree::

houxu

(node* x)

} node* tree::

find

(node* x,

int k)

int tree::

findn

(node* x,

int k)

node* tree::

min(node* x)

return x;

}node* tree::

max(node* x)

return x;

}void tree::

insert

(node* t,node* z)if(

!y) t=z;

//t是一顆空樹

else

if(z-

>

reit()

>

reit()

) y-

>

setl

(z);

else y-

>

setr

(z);

}

資料結構 靜態查詢表

從查詢說起 在英漢字典中查詢某個英文單詞的中文解釋 在新華字典中查詢某個漢字的讀音 含義 在對數表 平方根表中查詢某個數的對數 平方根 郵遞員送信件要按收件人的位址確定位置等等。從計算機 計算機網路中查詢特定的資訊,就需要在計算機中儲存包含該特定資訊的表。查詢是許多程式中最消耗時間的一部分。因而,乙...

資料結構 靜態查詢表

順序表與線性鍊錶都可以表示靜態查詢表。兩者的實現靜態查詢表相似,這裡以順序表為例。順序查詢就是從表中最後乙個記錄開始,逐個進行記錄關鍵字與給定值的比較,若某個記錄的關鍵字和給定值比較相等,則查詢成功,反之失敗。對於順序查詢有一種技巧可以優化效率。查詢之前先將key賦值給elem 0 搜尋從後向前搜尋...

資料結構 靜態查詢表

從查詢說起 在英漢字典中查詢某個英文單詞的中文解釋 在新華字典中查詢某個漢字的讀音 含義 在對數表 平方根表中查詢某個數的對數 平方根 郵遞員送信件要按收件人的位址確定位置等等。從計算機 計算機網路中查詢特定的資訊,就需要在計算機中儲存包含該特定資訊的表。查詢是許多程式中最消耗時間的一部分。因而,乙...