第四章 分类算法

上传人:仙*** 文档编号:244534904 上传时间:2024-10-05 格式:PPT 页数:33 大小:392.50KB
返回 下载 相关 举报
第四章 分类算法_第1页
第1页 / 共33页
第四章 分类算法_第2页
第2页 / 共33页
第四章 分类算法_第3页
第3页 / 共33页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章,基本的非数值算法,分类,查找,排序方法概论,插入排序:新项插入到以前已排好的诸项适当位置上。,交换排序:若发现两项次序颠倒,交换之。,选择排序:找一个最小(或最大项),将它们同余下的分开。,枚举排序:每一项都同其它项比较,对比它小的键的个数进行计数,以确定其位置。,专用排序,直接插入,当前面,k-1,个元素分类完毕后,第,k,个元素插入到其适合位置。,0,2,3,5,6,排序:,6 3,5,2,0,6,3,5 2 0,3,6,5,2 0,3 5 6,2,0,2 3 5 6,0,最好情况,最好情况,T(n,),T(n,1)+1,T(1),0,考虑,2,个:,T(2)=1,令,最坏情况,最坏和平均情况,平均情况,(,插到,n/2),故其复杂度均为,改进:,二分插入,直接选择,原理:找出未排好最小元,置于相应位置,二重循环:,for(i,=0;in,1;i+),k=i;x=ai;,for(j,=i+1;j,n;j,+),if(ajx),k=j;x=aj;,ak=ai;ai=x;,复杂度分析:比较次数,T(n,),0+1+2+3+(n-1)=n(n-1)/2,直接交换,比较:交换相邻项直至有序,冒泡:,for(i=1;i=i;j-),if(aj-1 aj),swap(aj,aj-1);,改进:加入标志,P,:,若内循环未交换,则停止:,复杂度析,最坏情况,分类必须反复进行直到,k,1,信息论下界,令,S(n),为足以将,n,个元素排序的极小比较次数,如果一个比较树的所有内部节点都在,k,的层次内,则显然这颗树至多有,个节点。,令,k=S(n).,有:,Stirling,公式:,即:,两路归并实例,两路归并,分别加以分类,再归并为统一的经过排序的序列,将,两路归并程序,i=0;j=0;k=0,do,if(aibj),ck+=ai+;,else,ck+=bj+,while(i=m),while(jn),ck+=bj+,else,while(i,m),ck+=ai+,复杂度分析,为最后归并所作的比较(是一定值!),考虑,个元素分类在最好情况下所需的比较次数,,某一序列每个都比较且只比较一次,其中,最坏情况下,最坏情况下,:元素交叉,1 3 5|2 4 6,堆分类,二叉树表示:线序时地址,堆:序列,满足:,注意:,堆的树根必为最小值,若插入或删除,均必须保持其堆的性质,堆的构成,二叉树表示:线序时地址,堆:序列 满足:,x/2,2x,2x+1,x,1,100,10,11,1001,101,111,110,1000,示例:,8 1 9 5 6 2 7,堆分类例,注意:,堆的树根必为最小值,若插入或删除,均必须保持其堆的性质,由二叉树构成堆,执行:,若未全排完,删去根,重建堆,第,k,层有 个节点,(,k,0,,,1,,,2,,,),.,设二叉树高为,h,,,则顶点数,。,考虑,全二叉树,,即 ,,k,层一个点在最坏情况下要过滤到叶片需,2,(,h-k,),次比较。即每下降一层须作两次比较(与两个儿子比较,并且比它们都小时),而,k,层有 个结点。,故建堆所作比较次数,:,堆结构,堆删去最小元素,删去顶元仍保持堆的性质,每一步新元素最多下降,(),层,故堆集分类比较次数:,最坏情况比快速分类好,平均情况:,Open Problem,堆插入元素,放到最后一个元素后面,使其向上浮到合适位置,插入一元素到堆上亦需 次比较,对,x,0,,,x,1,,,,,x,N-1,分为,h,类:,k=0,1,.h-1,对,进行各自分类称为,h,分类,shell,分类,:找一个递减序列 ,,先对,作,分类,再作,分类,,,,分类。,每一类分类宜用插入法,特别后来序列分类已接近完毕时,仅需要适当,调整,(量少)。,Shell,分类,示例:,算法依据:在进行,h,分类后,再进行,k,分类,并且,kh,,,则下列关系保持:,k=0,.,h-1,引理:序列 经排序得,,,序列 经排序得 ,若 ,,i=1,2,r,则,i=1,2,r,即:取,r,4,排序后最前和最后得小于关系仍旧保持,(,实际上,,x,中对应项不会更小,而,y,中对应项也不会更大,!),证明:,在 排序后得序列,中依其从小到大得顺序为:,,,显然:,类似地,在 排序后的序列,中依其顺序排列得,,,显然,:,由于 是 的排序,,而 是 的排序,,由 ,,i=1,2,.,r,,,则,l=1,2,.,r,故,l=1,2,r,。,对于序列 条件的序列选择,Knuth,建议采用,:,得出复杂性经验公式为,:,基数分类法,分检信时:只需看邮政编码的某几位,与前述方法不同,基数分类法依表达式分类。,假定关键字,x,由,k,位数字构成:,先按最小一位分类,放在,R,个堆中,(R,为基,比如以,10,为基时,R,10),,,则堆中最低位相同,不同堆中最低位依序增加;按顺序收集起来,再对次低位分类,则可保证后两位的序关系。,重复上述过程,直到第,K,位处理完毕,分类完成。,注意:处理最后一位时,,x,k,相同的,,x,k-1,x,1,中小的将先入堆,同一堆中后面几位递增。,例:,复杂度分析:,与关键字个数,N,以及关键字长度,k,成正比,,O(kN,),。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!