二叉排序樹 構造雜湊表,

2022-03-31 00:13:14 字數 2179 閱讀 9271

一、實驗內容

1、二叉排序樹。 任意給定一組資料,設計乙個演算法,建立一棵二叉排序樹,對它進行查詢、插入、刪除等操作。

2、構造雜湊表,key值由隨機數獲得,自己選擇解決衝突的演算法。並且計算查詢次數及平均查詢次數。

一、源程式

二叉排序樹:

1 #include2 #include

3using

namespace

std;

4#define ok 1

5#define overflow -1

6#define error 0

7#define maxsize 100

8int

typedef status;

9 typedef struct

elemtype;

13 typedef struct bstnodebstnode,*bstree;

18 bstree searchbst(bstree t, int key)

24void insertbst(bstree &t, elemtype e)

32else

if (e.key < t->data.key)

35else

if (e.key>t->data.key)38}

39void creatbst(bstree &t)51}

52void deletebst(bstree &t, int key)//

刪除53

62if (!p)return

;63 q =p;

64if ((p->lchild) && (p->rchild))

69 p->data = s->data;

70if (q != p)q->rchild = s->lchild;

71else q->lchild = s->lchild;

72delete

s;73

return;74

}75else

if (!p->rchild)

78else

if (!p->lchild)

81if (!f)t =p;

82else

if (q == f->lchild)f->lchild =p;

83else f->rchild =p;

84delete

q;85}86

intmain()

112if (n == 3

)115

if (n == 4

)121

if (n == 0)break

;122

}123 }

雜湊表:

#include#include

#include

using

namespace

std;

#define ok 1

#define overflow -1

#define error 0

#define maxsize 100

inttypedef status;

#define m 20typedef

structhashtable[m];

#define nullkey 0

intrandom()

int h(int

key)

int searchhash(hashtable ht, int key)

return -1

; }

}int

main()

for (int i = 0; i < m; i++)

else}}

}for (int i = 0; i < m; i++)

cout

<< "

查詢次數\n

"cout

<< "

平均查詢次數\n

"<< (j / 20)

cout << "請輸入要查詢的數" << endl;

cin >> key;

searchhash(ht, key);

*/}

構造二叉排序樹(BST) 二叉排序樹的刪除

主要是刪除操作 include include using namespace std typedef int elementtype typedef struct treenode threadtree void visit treenode node void inorder threadtre...

雜湊表與二叉排序樹的比較

此段來自 極客時間 王爭老師的資料結構與演算法 我們在雜湊表那節中講過,雜湊表的插入 刪除 查詢操作的時間複雜度可以做到常量級的 o 1 非常高效。而二叉查詢樹在比較平衡的情況下,插入 刪除 查詢操作時間複雜度才是 o logn 相對雜湊表,好像並沒有什麼優勢,那我們為什麼還要用二叉查詢樹呢?我認為...

查詢表 二叉排序樹

資料結構實驗之查詢一 二叉排序樹 time limit 400 ms memory limit 65536 kib problem description 對應給定的乙個序列可以唯一確定一棵二叉排序樹。然而,一棵給定的二叉排序樹卻可以由多種不同的序列得到。例如分別按照序列和插入初始為空的二叉排序樹,...