欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    查找排序的应用实验1Word格式文档下载.docx

    • 资源ID:15735830       资源大小:42.17KB        全文页数:23页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    查找排序的应用实验1Word格式文档下载.docx

    1、1) 顺序查找;2) 分别使用直接插入排序、冒泡排序、快速排序对原纪录序列进行排序;3) 对排好序的纪录序列表进行折半查找;4) 利用原纪录序列建立一颗二叉排序树,并在其上实现特定关键字值结点的查找;5) 按照“除留余数法”哈希构造函数和线性探测再散列的冲突处理方法创建表长为m=11的哈希表;6) 实现5)创建哈希表上的查找。7) 分别简单选择排序、堆排序、链式基数排序算法对数据序列进行排序,并显示排序结果。3 实验步骤与源程序 #include #include #includemath.h#define LIST_SIZE 20#define KEY_SIZE 6#define RADIX

    2、 10 #define TRUE 1#define FALSE 0#define SUCCESS 1#define UNSUCCESS -1#define MAX 20typedef char KeyType;typedef int OtherType;typedef structKeyType key; OtherType other_data;RecordType;KeyType keyKEY_SIZE; int type; int next;RecordType1; RecordType1 RLIST_SIZE+1; int length; int keynum;SLinkList;ty

    3、pedef int PVectorRADIX;RecordType rLIST_SIZE+1; /* r0为工作单元 */RecordList;/二叉排序树的创建与查找#define ENDKEY 0typedef struct node KeyType key ; /*关键字的值*/ struct node *lchild,*rchild;/*左右指针*/BSTNode, *BSTree;/*哈希表的创建*/ int key; int flag;/falg=1时表示有关键字,=0时表示没有关键字Elemtype; Elemtype *elem;/动态分配的哈希表的首地址 int sizein

    4、dex;/hashsizesizeindex为当前容量 int count;/当前数据元素个数HashTable;/*顺序查找*/void SeqSearch(RecordList l, KeyType k)/*在顺序表l中顺序查找其关键字等于k的元素,若找到,则函数值为该元素在表中的位置,否则为0*/ int i; l.r0.key=k; i=l.length; while (l.ri.key!=k) i-; if (i=1) printf(该元素k所在的位置是:);%d,i); else该元素不存在/直接插入排序void InsSort(RecordType r, int length)/

    5、* 对记录数组r做直接插入排序,length为数组中待排序记录的数目*/ int i,j; for (i=2; i=length; i+) r0=ri; /*将待插入记录存放到监视哨r0中*/ j=i-1; while (r0.key rj.key ) /* 寻找插入位置 */ rj+1= rj; j=j-1; rj+1=r0; /*将待插入记录插入到已排序的序列中*/ /* InsSort */ /*冒泡排序*/void BubbleSort(RecordType r,int length)/*对记录数组r做冒泡排序,length为数组的长度*/ int x,i,n,change,j; n=

    6、length;change=TRUE; for(i=1;i=n-1&change;+i) change=FALSE; for(j=1;jrj+1.key) x=rj.key; rj=rj+1; rj+1.key=x; change=TRUE; /快速排序int Partition(RecordList &L,int low,int high) /Partition() sub-function int pivotkey; L.r0=L.rlow; pivotkey=L.rlow.key; while(lowhigh) while(low=pivotkey) -high; L.rlow=L.rh

    7、igh;L.rlow.key +low; L.rhigh=L.rlow; L.rlow=L.r0; return(low); /Partition() endvoid Qsort(RecordList &L,int low,int high) /Qsort() sub-function int pivotloc; if(low pivotloc=Partition(L,low,high); Qsort(L,low,pivotloc-1); Qsort(L,pivotloc+1,high);void QuickSort(RecordList &L) /QuickSort() sub-functi

    8、on Qsort(L,1,L.length); /call Qsort()/*对排好的序进行折半查找算法*/void BinSrch(RecordList l,KeyType k)/*在有序表l中折半查找其关键字等于k的元素,若找到,则函数值为该元素在表中的位置*/ int low,high,mid; low=1; high=l.length;/*置区间初值*/=high) mid=(low+high)/2; if (k=l.rmid.key) printf(找到该元素,其位置为%d,mid); break; /*找到待查元素*/ else if (khigh) printf(没有找到该元素v

    9、oid InsertBST(BSTree *bst, KeyType key)/*若在二叉排序树中不存在关键字等于key的元素,插入该元素*/ BSTree s; if (*bst = NULL)/*递归结束条件*/ s=(BSTree)malloc(sizeof(BSTNode);/*申请新的结点s*/ s- key=key;lchild=NULL;rchild=NULL; *bst=s; else if (key key) InsertBST(&(*bst)-lchild), key);/*将s插入左子树*/ if (key InsertBST(&rchild), key); /*将s插入

    10、右子树*/void CreateBST(BSTree *bst)/*从键盘输入元素的值,创建相应的二叉排序树*/ KeyType key; *bst=NULL; scanf(, &key); while (key!=ENDKEY) /*ENDKEY为自定义常量*/ InsertBST(bst, key); scanf(void PreOrder(BSTree root) /*先序遍历二叉树, root为指向二叉树根结点的指针*/ if (root!=NULL)%d ,root- /*输出结点*/ PreOrder(root-lchild); /*先序遍历左子树*/rchild); /*先序遍历右子树*/BSTree SearchBST(BSTree bst, KeyType key)/*在根指针bst所指二叉排序树中,递归查找某关键字等于key的元素,若查找成功,返回指向该元素结点指针,否则返回空指针*/ if (!bst) return NULL; if (bst-key = key) return bst;/*查找成功*/ else if (bst-key key) return SearchBST(bst-lchild, key);/*在左子树继续查找*/ return SearchBST(


    注意事项

    本文(查找排序的应用实验1Word格式文档下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开