数据结构实验2 查找算法的实现和应用.docx

数据结构实验2 查找算法的实现和应用.docx

ID:61429386

大小:49.32 KB

页数:10页

时间:2021-01-29

数据结构实验2 查找算法的实现和应用.docx_第1页
数据结构实验2 查找算法的实现和应用.docx_第2页
数据结构实验2 查找算法的实现和应用.docx_第3页
数据结构实验2 查找算法的实现和应用.docx_第4页
数据结构实验2 查找算法的实现和应用.docx_第5页
资源描述:

《数据结构实验2 查找算法的实现和应用.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验2查找算法的实现和应用q实验目的1.熟练掌握静态查找表的查找方法;2.熟练掌握动态查找表的查找方法;3.掌握hash表的技术.q实验内容1.用二分查找法对查找表进行查找;2.建立二叉排序树并对该树进行查找;3.确定hash函数及冲突处理方法,建立一个hash表并实现查找。1.二分查找#includeusingnamespacestd;#defineINVALID_INDEX-100intIntCompare(constint&a,constint&b,void*param){returna-b;}template

2、T2>intBinarySearch(constT1*theArray,intlength,constT2&key,int(*compare)(constT1&,constT2&,void*param),void*param){intindexRet=INVALID_INDEX;intmid=length/2;intcmp=compare(theArray[mid],key,param);if(cmp==0){indexRet=mid;}elseif(length!=1){if(cmp<0&&length!=1){indexRet=BinarySearch(the

3、Array+mid,length-mid,key,compare,param);if(indexRet!=INVALID_INDEX){indexRet+=mid;}}else{indexRet=BinarySearch(theArray,mid,key,compare,param);}}returnindexRet;}intmain(){intlength=0;inti=0;intkey=0;intindex=INVALID_INDEX;cout<<"请输入元素的个数:"<>length;int*aArray=newint[length];c

4、out<<"请输入要输入的元素:"<>aArray[i];}cout<<"要查找的元素:"<>key&&key!='F'){index=BinarySearch(aArray,length,key,IntCompare,NULL);if(index==INVALID_INDEX){cout<<"Theelementisnotexist."<

5、aArray;}return0;}2二叉排序树#include#include#includeusingnamespacestd;typedefintkeyType;typedefstructNode{keyTypekey;structNode*left;structNode*right;structNode*parent;}Node,*PNode;voidinseart(PNode*root,keyTypekey){PNodep=(PNode)malloc(sizeof(Node));p->key=key;p

6、->left=p->right=p->parent=NULL;if((*root)==NULL){*root=p;return;}if((*root)->left==NULL&&(*root)->key>key){p->parent=(*root);(*root)->left=p;return;}if((*root)->right==NULL&&(*root)->keyparent=(*root);(*root)->right=p;return;}if((*root)->key>key){inseart(&(*root)->left,key);}

7、elseif((*root)->keyright,key);}elsereturn;}PNodesearch(PNoderoot,keyTypekey){if(root==NULL){returnNULL;}if(key>root->key){returnsearch(root->right,key);}elseif(keykey){returnsearch(root->left,key);}elsereturnroot;}voidcreate(PNode*root,keyType*keyArray,i

8、ntlen

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。