华中科技大学:《计算机算法基础》 第一章 习题

第一章 Procedure F(A, n) ←n; count0;m←0; while j20 do if a[]=1 then count+count 1 else if count mod 2#o then m←m+1; endif count←-0; endif 1; repeat if m>0 then return(false) else return(true) endif Endf
第一章 Procedure F(A,n) i←n; count←0;m←0; while i≥0 do if A[i] =1 then count←count + 1; else if count mod 2 ≠ 0 then m←m+1; endif count←0; endif i←i-1; repeat if m>0 then return(false) else return(true) endif End F

int judge(int al l, int n) int I, flag =0 for(=1;-sn;i++){ Whe(A[]==1&&≤n) flag =(flag +A[i++]%2 if(flag) return(false) return(true);∥如果没有任何连续为1的序列?
int judge(int A[ ],int n) { int I, flag = 0; for(i=1;i≤n;i++) { while(A[i]== 1 && i≤n) flag =(flag + A[i++])%2; if(flag) return(false); } return(true); //如果没有任何连续为1的序列? }

int check(int al ], int n int i=0, k=0, flag =1 while(isnt k=0 Whle(A[==0)计++;∥&i<n Whle(A[==1)k++;∥/i++&&i<n if(k/ i flag=0 break return(fag);∥如果没有任何连续为1的序列?
int check(int a[ ],int n) { int i=0, k=0, flag = 1; while(i<n) { k=0; while(A[i]== 0) i++; //&&i<n while(A[i]== 1) k++; // i++ && i<n if(k%2) { flag = 0; break; } return(flag); //如果没有任何连续为1的序列? }

第二章 2.化简递推关系式 ∴g(n)=0(1) ∴可令g(n)=c1(或简单令g(n)=1) 同理 f(n)=0(n) ∴可令f(n)=c2n(或简单令f(n)=n,或f(n)=c2n+b), 可设c1=C2=C 化简 T(n)=2T(n/2)+f(n) 2T(n/2)+cn =4T(n/4)+2(cn/2)+cn=4T(n/4)+2cn 2kT(n/2k)+kcn 若n=2,则k=logn .T(n)=cn+cnlogn=o(nlogn) 当n∈[2k,2k+1),T(n)=cn+ cologne=e( nlogn)
第二章 2. 化简递推关系式 ∵g(n)=O(1) ∴可令 g(n)=c1(或简单令g(n)=1) 同理, ∵f(n)=O(n) ∴可令 f(n)=c2n(或简单令f(n)=n,或f(n)=c2n+b), 可设c1=c2=c 化简 T(n)=2T(n/2)+f(n) =2T(n/2)+cn =4T(n/4)+2(cn/2)+cn=4T(n/4)+2cn =… =2kT(n/2k)+kcn 若n=2k ,则k=logn ∴T(n)=cn+cnlogn=O(nlogn) 当n∈[2k,2k+1), T(n)=cn+cnlogn=Θ(nlogn)

g(n)=0(1 可令g(n)=c1(或简单令g(n)=1) 同理 f(n)=0(1) 可令f(n)=c2(或简单令f(n)=1), 可设C1=C2=C 化简 T(n)=2T(n/2)+f(n) =2T(n/2)+c =4T(n/4)+2c+c =8T(n/8)+22c+2c+c=… 2T(n/2k)+(1+2+22+…+2k-1) C-cn+(2k- C . cn-c=o(n)
∵g(n)=O(1) ∴可令 g(n)=c1(或简单令g(n)=1) 同理, ∵f(n)=O(1) ∴可令 f(n)=c2(或简单令f(n)=1), 可设c1=c2=c 化简 T(n)=2T(n/2)+f(n) =2T(n/2)+c =4T(n/4)+2c+c =8T(n/8)+22c+2c+c=… =2kT(n/2k)+(1+2+22+…+2k-1)c=cn+(2k-1)c =2cn-c=O(n)

典型错误 令g(n)=a,f(mn)=bn+c(a,b,c为常数) 则T(n)=2T(n/2)+bn+c =4T(n/4)+2bn+2c+bn+c =2T(n/2)+bn(1+2+…+2k-1) +c(1+2+…+2k-1) 2T(n/2k)+(bn+c)(2k-1) 故得,T(n)=(n2)
典型错误 令g(n)=a,f(n)=bn+c(a,b,c为常数) 则T(n)=2T(n/2)+bn+c =4T(n/4)+2bn+2c+bn+c =… =2kT(n/2k)+bn(1+2+…+2k-1) +c(1+2+…+2k-1) =2kT(n/2k)+(bn+c)(2k-1) 故得,T(n)=Θ(n2)

5.三分法 low mid2 high mid1=low L (high-low)/3] mil=(high+lon)/3」 mid2=high- LChigh-low)/3 2=2(high+low)/3
5.三分法 low mid1 mid2 high mid1=low + mid2=high - (high −low)/ 3 (high −low)/ 3 2 2( )/ 3 1 ( )/ 3 mid high low mid high low = + = +

E=2|+3n 二元比较树=>三元比较树?
E=2I+3n 二元比较树=>三元比较树?

第三章 ①若k个作业可以按照题目中给出的方法安排执行时间又不 违反任何作业的期限要求,显然J可行。 ②若J可行,则对J应该存在一个题目中所说的处理序列。设 这一序列是8=i1i2…ik 序列的特点是:若作业i在]时刻执行,i不违反期限 要求,且其后的k一j个作业也不违反各自的期限。i是按照 从后往前找其执行时间j:后边的k-j个执行单元或者不满足 其期限要求,或已经为先前考虑的其它作业占用,而这些作 业是不能被推迟执行的
第三章 9. ①若k个作业可以按照题目中给出的方法安排执行时间又不 违反任何作业的期限要求,显然J可行。 ②若J可行,则对J应该存在一个题目中所说的处理序列。设 这一序列是δ=i1i2…ik 序列的特点是:若作业ij在j时刻执行, ij不违反期限 要求,且其后的k-j个作业也不违反各自的期限。ij是按照 从后往前找其执行时间j:后边的k-j个执行单元或者不满足 其期限要求,或已经为先前考虑的其它作业占用,而这些作 业是不能被推迟执行的

证1 若J是可行解,则必存在调度序列δ r1r·r1 使得 d;≥j,1≤j≤k 现设按题目要求调整序列δ’。 在8’的调度序列中任取1个作业r;(1≤i≤k) ●若i=dn,则r;的位置不变 ●若i<d1且dx1=j,则将r调整到j处,原r1+1,r+2,…,r向前移 位,可保持调整后的d-≥j(1≤j≤k) 每做一次调整后,调整的元素固定下来。若调整过程中,r;要调的 地方的作业r;已被固定,则继续往前寻找,直到找到没有被固定的作业 处 每次在δ’中选取1个没有固定下位置的作业做上述调整,k次后作 业顺序定下来,且能保持作业的执行时间不不违反作业期限,故J可行时, 用题中给出的方法可以解决作业排序。 存在的问题:调整后得到的调度序列可能不等于题目中给出的调度 序列
证1: 若J是可行解,则必存在调度序列δ’=r1r2…rk,使得 drj≥j,1≤j≤k 现设按题目要求调整序列δ’。 在δ’的调度序列中任取1个作业ri(1≤i≤k) ●若i=dri,则ri的位置不变 ●若i<dri且dri=j,则将ri调整到j处,原ri+1,ri+2,…,rj向前移一 位,可保持调整后的drj≥j(1≤j≤k) 每做一次调整后,调整的元素固定下来。若调整过程中,ri要调的 地方的作业rj已被固定,则继续往前寻找,直到找到没有被固定的作业 处。 每次在δ’中选取1个没有固定下位置的作业做上述调整,k次后作 业顺序定下来,且能保持作业的执行时间不不违反作业期限,故J可行时, 用题中给出的方法可以解决作业排序。 存在的问题:调整后得到的调度序列可能不等于题目中给出的调度 序列
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华中科技大学:《计算机算法基础》 习题3.1.doc
- 华中科技大学:《计算机算法基础》 CHAPTER 11 Aggregate Demand l.ppt
- 华中科技大学:《计算机算法基础》 CHAPTER 10 Aggregate Demand I.ppt
- 华中科技大学:《计算机算法基础》 算法程序设计.doc
- 华中科技大学:《计算机算法基础》 第二章 分治法(Divide and Conquer)——“分”而治之.ppt
- 华中科技大学:《计算机算法基础》第一章 导引与基本数据结构(王多强).ppt
- 《微机常用外设》 第三章 非击打式印刷机.ppt
- 《微机常用外设》 第一章 输入技术及设备.ppt
- 《微机常用外设》 绪论.ppt
- 《微机常用外设》 第四章 数字磁记录原理.ppt
- 《微机常用外设》 第五章 外存储技术及设备.ppt
- 《微机常用外设》 第二章 击打式打印机.ppt
- 《网络综合布线技术》 第九章 常用布线系统介绍.ppt
- 《网络综合布线技术》 第八章 综合布线质量控制.ppt
- 《网络综合布线技术》 第七章 综合布线系统的验收.ppt
- 《网络综合布线技术》 第六章 综合布线系统的测试.ppt
- 《网络综合布线技术》 第五章 综合布线工程施工.ppt
- 《网络综合布线技术》 第三章 综合布线系统工程设计.ppt
- 《网络综合布线技术》 第三章 网络传输介质.ppt
- 《网络综合布线技术》 第二章 综合布线标准.ppt
- 华中科技大学:《计算机算法基础》 复习要点.ppt
- 华中科技大学:《计算机算法基础》 第三章 贪心方法.ppt
- 华中科技大学:《计算机算法基础》 第四章 动态规划.ppt
- 乐山师范学院:《计算机程序设计》 电子课件.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第一章 计算机网络概述 Introduction of Computer Network.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第二章 数据通信技术 Data Communication Basics.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第三章 计算机网络体系结构 Architecture of Computer Network.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第四章 局域网技术 Local Area Network Technology.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第五章 Repeaters(中继器)Network Devices & Interconnection.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第六章 网络技术及组网技术 TCP/IP.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第七章 Windows NT.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第八章网络安全技术 Safety Technology of Network.ppt
- 华南农业大学:《面向对象的程序设计》 第九章 多态性.ppt
- 华南农业大学:《面向对象的程序设计》 第一章 Hello Java.ppt
- 华南农业大学:《面向对象的程序设计》 第二章 数据与表达式.ppt
- 华南农业大学:《面向对象的程序设计》 第三章 使用类和对象.ppt
- 华南农业大学:《面向对象的程序设计》 第四章 编写类.ppt
- 华南农业大学:《面向对象的程序设计》 第五章 条件和循环语句.ppt
- 华南农业大学:《面向对象的程序设计》 第六章 面向对象设计.ppt
- 华南农业大学:《面向对象的程序设计》 第七章 数组.ppt