1.利用實驗一建立有序表,採用折半查詢實現某一已知的關鍵字的查詢。
2.隨機產生一組關鍵字,利用二叉排序樹的插入演算法建立二叉排序樹,然後刪除某一指定關鍵字元素。
3.已知雜湊函式為h(key)=key%p(p為自定的常數),衝突處理方法分別為線性探測法、外拉鍊法實現
雜湊表的建立(利用插入演算法實現)。
#include #include #include #include#include#include#include#includeusing namespace std;
typedef long long ll;
int a[100];
void erfen(int n,int x)
cout<<"未能找到"f=p;//用f記下查詢路徑上的最後乙個訪問的節點
p=(keykey)? p->l:p->r;
}p=(node*)malloc(sizeof(node));
p->key=key;
p->l=p->r=null;
if(t==null)
t=p;
else if (keykey)
f->l=p;
else
f->r=p;
return t;
}node *createbst(int n) ///建立二叉排序樹
if(!p) return;//二叉排序樹中無關鍵字為key的結點
if(p->l==null&&p->r==null) //p沒有左右子樹
else if(p->l==null&&p->r!=null)//p無左子樹有右子樹
else if(p->r==null&&p->l!=null)//p有左子樹無右子樹
else if(p->l!=null&&p->r!=null)//p既有左子樹又有右子樹
p->key=s->key;//以p的中序前趨結點s代替p(即把s的資料複製到p中)
if(q!=p) q->r=s->l;//重接q的右子樹
else q->l=s->l;//重接q的左子樹。
free(s);
}}void midorder(node * t )///遞迴實現中序遍歷
}int tem[100];
vectorv[100];
void hash1(int p,int n)///線性探測法
{ memset(tem,0,sizeof(tem));
for(int i=0; i>n;
cout<<"請輸入"<>a[i];
int x;
cout<<"請輸入要查詢的數"<>x;
erfen(n,x);
cout<<"請輸入n"<>n;
cout<<"請輸入"<>a[i];
node *bt;
bt=createbst(n);
cout<<"中序遍歷序列為:"<>num;
delbst(bt,num);
cout<<"刪除節點之後中序遍歷序列為:"<>p;
hash1(p,n);
cout<<"線性探測法儲存"<
查詢的有關操作
實驗名稱 查詢的有關操作 實驗室名稱 丹青909 實驗台號 14 學生姓名 陳佳龍 專業班級 2015級1班 指導教師 於慧伶 實驗日期 2017 6 12 一 實驗目的 掌握折半查詢演算法的思想及程式實現。掌握二叉排序樹的查詢 插入 刪除 建立演算法的思想及程式實現。掌握雜湊儲存結構的思想,能選擇...
有關hibernate的查詢
hibernate查詢方式舉例 1 單個物件 a query query session.createquery from consortbean a where a.person.id query.setstring 0,pb.getid 引數從零開始 list list query.list b...
有關拖放的操作
我們滑鼠選擇檔案的過程中,如何用滑鼠把檔案拖放進入我們的頁面呢?我們需要那些事件。獲取那些內容呢?這裡是效果圖。你好啊,你今年幾歲啊,哈哈,我的今天在 drag something into here 如果想獲得事件需要阻止事件的預設行為 如果不阻止瀏覽器的預設行為是無法執行 drag事件的。我們首...