数据l构W五章算法设计题[7]_跨考网
1. l定nxm矩阵A[a..b,c..d],q设A[i,j]?/span>A[i,j+1](a?/span>i?/span>b,c?/span>j?/span>d-1)?/span>A[i,j]?/span>A[i+1,j](a?/span>i?/span>b-1,c?/span>j?/span>d).设计一法判定X的值是否在A?/span>,要求旉复杂度ؓO(m+n)。?a target="_blank">东南大学2001?/span>(13?/span>)?/span>
cM本题的另外叙q有Q?/span>
Q?/span>1Q给定整型数l?/span>B[0..m,0..n] 。已?/span>B中数据在每一l方向上都按从小到大的次序排列,且整型变?/span>x?/span>B中存在。试设计一个程序段扑և一Ҏ(gu)?/span>B[i,j]=x?/span>(i,j)|要求比较ơ数不超q?/span>m+n.。?a target="_blank">清华大学 1998 六(10分)?/span>
(2) l定n×m矩阵A[a..b,c..d]Qƈ?/span>A[i,j]<=A[i,j+1]Q?/span>a<=i<=b,c<=j<=d-1Q知A[i,j]<=A[i+1,j],(a<=i<=b-1, c<=j<=d)。设计一法以比O(n*m)的最坏时间复杂性判定?/span>x是否?/span>A中。?a target="_blank" class="keylink">东南大学1994?/span>(17?/span>)?/span>
【参考答案?/span>
[题目分析]矩阵中元素按行和按列都已排序Q要求查找时间复杂度?/span>OQ?/span>m+nQ,因此不能采用常规的二层@环的查找。可以先从右上角Q?/span>i=a,j=dQ元素与x比较Q只有三U情况:一?/span>A[i,j]>xQ?/span> q情况下?/span>j 的方向l箋查找Q二?/span>A[i,j]<xQ下步应?/span>i大的方向查找Q三?/span>A[i,j]=xQ查找成功。否则,若下标已出范围Q则查找p|?/span>
void search(datatype A[ ][ ], int a,b,c,d, datatype x)
//n*m矩阵A,行下标从a?/span>b,列下标从c?/span>d,本算法查?/span>x是否在矩?/span>A?/span>.
{i=a; j=d; flag=0; //flag是成功查?/span>x的标?/span>
while(i<=b && j>=c)
if(A[i][j]==x) {flag=1;break;}
else if (A[i][j]>x) j--; else i++;
if(flag) printf(?/span>A[%d][%d]=%d?/span>,i,j,x); //假定x为整?/span>.
else printf(“矩?/span>A中无%d 元素”,x)Q?/span>
}法searchl束?/span>
[法讨论]法中查?/span>x的\U从右上角开始,向下Q当x>A[i,j]Q或向左Q当x<A[i,j]Q。向下最多是mQ向左最多是n。最x冉|在右上角比较一ơ成功,最差是在左下角Q?/span>A[b,c]Q,比较m+nơ,故算法最差时间复杂度?/span>O(m+nQ?/span>
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ23考研的考生准备?0大课包全E准备、全q复习备考计划、目标院校专业辅对{全真复试模拟练习和全程针对性指|2023考研的小伙伴针也已经开始择校和复习了,跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习Q?/a>暑假集训?/span>带来了院校专业初步选择Q明方向;考研备考全q规划,核心知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
考研院校专业选择和考研复习计划 | |||
2023备考学?/td> | 2023U上U下随时学习 | 34所自划UK校考研复试分数U汇?/td> | |
2022考研复试最全信息整?/a> | 全国各招生院校考研复试分数U汇?/a> | ||
2023全日制封闭训l?/span> | 全国各招生院校考研调剂信息汇?/a> | ||
2023考研先知 | 考研考试U目有哪些? | 如何正确看待考研分数U? | |
不同院校相同专业如何选择更适合自己?/a> | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行?/a> |
相关推荐
跨考考研评
班型 | 定向班型 | 开班时?/td> | 高定?/td> | 标准?/td> | 评介绍 | 咨询 |
U季集训 | 冲刺?/td> | 9.10-12.20 | 168000 | 24800?/td> | 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定? | |
2023集训畅学 | 非定向(政英?数政qQ?/td> | 每月20?/td> | 22800?协议? | 13800?/td> | 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td> |