Chapter-1 算法引论-习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else j ←j/2
1.当n为2的幂时,第6步执行的最大次数是多少? nlogn次 3. T(n)=O(nlogn) 4. T(n)=Ω(n)
2.当n为3的幂时,第6步执行的最大次数是多少?
n为3的幂时, n/2 可能是奇数,也可能是偶数。 当为奇数时,Step 6只执行一次; 当为偶数时, n/2 =2m,Step6执行的次数为m+1次,即:log n/2 +1。 所以,最大执行次数为n(log n/2 +1)
南京理工大学
习题1.5 输入:n个元素的数组A[1…n] 输出:按照非降序排列的数组A[1…n] 1. for i ←1 to n-1 2. for j ←i+1 to n 3. if A[j]<A[i] then 交换 A[i] 与 A[j] 4. end for 5. End for
1. 最少执行多少次元素的赋值操作?何时最少? 0次,当输入数组是按照非降序的方式排列。 2. 最多执行多少次元素的赋值操作?何时最多? 3*( (n-1)+(n-2)+…+1) =3*n(n-1)/2次 当输入数组是按照非升序的方式排列,且数组中没有相同的元素。 temp ← A[i] A[i] ←A[j] A[j] ←temp
南京理工大学
1. comment: 习题1.32 2. count ← 0 3. for i ← 1 to n 4. j ← n/2 5. while j >= 1 6. count ← count +1 7. if j为奇数 then j ←0 8. end while 9. end for
பைடு நூலகம்