順序查詢
說明:順序查詢適合於儲存結構為順序儲存或鏈結儲存的線性表。
int sequelsearch(elemtype s,keytype key,int n)
/*在s[0]-s[n-1]中順序查詢關鍵字為key的記錄*/
/*查詢成功時返回該記錄的下標序號;失敗時返回-1*/
----------------------------
二分查詢
1、遞迴方法實現:
int bsearch(elemtype a,elemtype x,int low,int high)
/*在下屆為low,上界為high的陣列a中折半查詢資料元素x*/
elemtype;
typedef struct
indextype;
int indexsequelsearch(indextype ls,elemtypes,int m,int l,keytype key)
/*分塊查詢關鍵字為key的記錄。索引表為ls[0]-ls[m-1]*/
/*順序表為s,塊長為l*/
}----------------------------
二叉排序樹查詢
1、二叉排序樹查詢演算法:
a、非遞迴演算法:
btree *search(btree *b,int x)
/*在二叉樹b中查詢x的過程*/ }
b、遞迴演算法:
bsnodetype *search(bsnodetype *bt,keytype key)
/*在二叉樹bt中查詢元素為key的元素*/
return(p);
}2、二叉樹的生成
a、向乙個二叉樹b中插入乙個結點s的函式如下:
void insert(b,s)
btree *b,*s;
b、生成二叉樹
void create(btree *b)
while(x!=-1);
}c、從二叉樹中刪除乙個結點
bsnodetype *delete(bsnodetype *bt,keytype key)
/*在bt為根結點的二叉樹中刪除值為key的結點*/
else if(bt->lchild==null)/*bt的左子樹為空*/
else if(bt->rchild==null)/*bt的右子樹為空*/
else
}/*在bt->lchild為根結點的二叉樹中刪除值為key的結點*/
if(bt->key>key&&bt->lchild!=null)
bt->lchild=delete(bt->lchild,key);
/*在bt->rchild為根結點的二叉樹中刪除值為key的結點*/
if(bt->keyrchild!=null)
bt->rchild=delete(bt->rchild,key);
return(bt);
}
java面試中oracle幾種查詢(經典)
一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.select table1.column,table2.column from table1 inner left right...
java中幾種常見的排序演算法
本人只研究過氣泡排序 選擇排序和快速排序,下面是快速排序的 一 冒泡 bubble 排序 氣泡排序 bubblesort 的基本思想是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。如此重複下去,直至最終完成排序。時間複雜度為 o n n 適用於排序小列表。void bubblesortarr...
Java幾種排序演算法
陣列排序 author jrunner 2009 10 26 e main jrunner 126.com class testsort print a tosort1 a tosort2 a tosort3 a tosort4 a print a 方法一 更換值 private static vo...