資料結構 查詢

2021-08-14 01:49:09 字數 1814 閱讀 6591

1.輸入一批有序的整形數值,利用折半插找的演算法實現查詢某數的過程。

2.利用一批資料(不超過13個數),構建一棵二叉排序樹,並實現中序遍歷該樹。

3.將上面的資料利用長度為15的雜湊表儲存,輸出儲存後的雜湊表。雜湊函式採用key%13。

4.根據全班學生的姓名,用拉鍊法解決碰撞的方法構造乙個雜湊表,選擇適當的雜湊函式,設計並實現插入、刪除和查詢演算法。

5.設計主函式,上機實現。  

#include #include #include #include #define maxn 100

using namespace std;

#define n 30

typedef struct node1

node;

node *hashtable[n];

typedef struct node

dsnode,*dstree;

int data[maxn];

int hs (int data,int n,int t)

return 0;

}void charu(dstree &t,int t)

else if(tdata)

charu(t->lchild,t);

else if(t>t->data)

charu(t->rchild,t);

}void creat(dstree &t)

//printf("%p\n",t);

}int s[15],cnt=0;

int tt[15];

void bianli(dstree t)

}void h(int key)}}

}int hh(char name)

return -1;

}void creathashmap(dstree t)

int delhh(char name)

p=s;

}return -1;

}int main()

//search hash

printf("\n查詢tony\n");

int kk=searchh("tony");

if(kk==-1)

printf("無此人\n");

else

printf("此人存在於hashmap%d的第%d個\n",hh(name),kk);

printf("\n刪除tony\n");

kk=delhh("tony");

if(kk==-1)

printf("無此人\n");

else

printf("刪除成功\n");

printf("\n再次查詢tony\n");

kk=searchh("tony");

if(kk==-1)

printf("無此人\n");

else

printf("此人存在於hashmap%d的第%d個\n",hh(name),kk);

return 0;}/*

102 3 6 9 15 18 19 52 62 69

6290

8956

3243

5363

5286

9575

65-1

asfdsdsgsd

jhsdfjksdf

kjsdjk

dsfjlsl

kfkjrfer

jfksjk

tony

sdjfl

dfkll

skdjf

fdsjsd

lljj

end*/

查詢 資料結構

分類 資料結構與演算法 c c 2012 07 24 16 17 614人閱讀收藏 舉報幾種查詢演算法 順序查詢,折半查詢,分塊查詢,雜湊表 一 順序查詢的基本思想 從表的一端開始,向另一端逐個按給定值kx 與關鍵碼進行比較,若找到,查詢成功,並給出資料元素在表中的位置 若整個表檢測完,仍未找到與k...

資料結構 查詢

查詢 searching 也稱 檢索,查表,就是在大量的資訊集中尋找乙個特定的資訊元素。查詢就是根據 給定的關鍵字值,在 查詢表中確定乙個關鍵字等於給定的 記錄或資料元素。若存在這樣的資料元素,則稱查詢成功的,否則查詢不成功。查詢是許多重要的電腦程式中 最耗費時間的部分,查詢演算法的優劣密切關係著查...

資料結構 查詢

一.靜態查詢表 靜態查詢表是僅對查詢表進行查詢操作,而不能改變其中資料的線性表,可以是基於陣列的順序儲存或以線性鍊錶儲存。靜態查詢表主要有順序表 有序順序表和索引順序表三種。1.順序查詢 函式模型 int seqsearch element list,int searchnum,int n 2.折半...