大家好,欢迎来到IT知识分享网。
1.顺序查找
2.折半查找
3.分块查找
4.二叉排序树
左子树关键字<根关键字<右子树关键字
非递归:
typedef struct BiTNode{
ElemType key; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; BiTNode* BSTSearch(BiTree p,int key) {
while(p!=null) {
if(p==p->key) {
return p; } else if(key<p->key) {
return p->lchild; } else {
return p->rchild; } } return null; }
递归
typedef struct BiTNode{
ElemType key; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; BiTNode* BSTSearch(BiTree p,int key) {
if(p==null) {
return null; } else {
if(p==p->key) {
return p; } else if(key<p->key) {
return BSTSearch(p->lchild,key) } else {
return BSTSearch(p->rchild,key); } } }
5.B树和B+树
一个关键字的空位子对应一个分支
B+树特性:
1.n个关键字n个分支;
2.m阶B+树每个结点至多有m个分支;
3.叶结点包含信息,非叶结点只是索引作用
4.可以顺序查找
一个关键字对应一个分支
6.散列表
解决冲突的方法
1.开放定地址法
其中的线型探测法:冲突发生时顺序探测下一个单元。
2.拉链法
把所有的同义词存储在一个线性链表中。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128314.html