CLRS 8-5 :平均排序

解答:

a)非递增完全排序
b)2 1 4 3 6 5 8 7 10 9
c)展开题目中的公式,然后消除相同项,即可得到此结论。
d)算法思想:
  1.将数组分成k组,即{a[0], a[k], a[2k] ...}, {a[1], a[1+k], a[zk+1] ...}, ..., {a[i], a[i+k], a[i+2k], ...}, ..., {a[k-1], a[2k-1], ...}.
  2.然后对每一组用合并排序或者堆排序进行排序,则每一组的时间为t = n/k*lg(n/k),总的时间为nt,即nlg(n/k).
e)由于数组已是k排序的,则可以将数组按d).1的方法分为k组,则每组是排好序的,再用6.5-8 中的方法进行处理,总时间为O(nlgk).
f)不会证明,略。

转载于:https://www.cnblogs.com/null00/archive/2011/04/11/2065067.html

算法导论8-5习题解答(平均排序)相关推荐

  1. 算法导论8.3-4习题解答(基数排序)

    CLRS 8.3-4 :  说明如何在O(n)时间内,对0到n^2 - 1之间的n个整数进行排序. 算法思想: 1.把这n个数看成n进制数,那么每个数只有两位,因而循环只需两次 2.调用通用的基数排序 ...

  2. 算法导论6.1-2习题解答

    CLRS 6.1-2 : 证明:含n个元素的堆的高度为[lgn]. 证明:因为 2^h <= n <= 2^(h+1) - 1 所以 lg(n+1) -1 <= h<= lg( ...

  3. 算法导论9.2-3习题解答(寻找第i小的数)

    CLRS 9.2-3 : 写出RANDOMIZED-SELECT的一个迭代版本 在这里,顺便实现在数组内寻找第i小的数值. #include <iostream> #include < ...

  4. 算法导论13-1节习题解答

    CLRS 13.1-1 利用性质画图,略 CLRS 13.1-2 是 否 CLRS 13.1-3 是,因为就根部被改变了,并不与其他性质矛盾. CLRS 13.1-4 4,两个子结点都为红色 3,两个 ...

  5. 算法导论5:基数排序和计数排序 2016.1.5

    今天的这个比较神奇,是一个线性复杂度的排序算法O(n),算法导论在这一部分先证明了比较排序的复杂度下界是nlgn,所以基数排序不是基于比较的排序. 其实这种比较方法我们应该都接触过.假设输入的数都是三 ...

  6. 算法第四版习题解答(1.2 Data Abstraction)

    前言 使用的是<算法>第四版英文版,主要是习题解答. 书中jar包的导入请戳:算法(第四版)中algs4.jar下载和使用 EXERCISES 1.2.1 import edu.princ ...

  7. 《算法导论》(一)--插入排序与合并排序

    插入排序 书上说的很好,用打牌作比方.就是一边是排好序的,剩下的是待排序的,每次取一个待排序的元素,找到按序的位置,插入已排好序的部分中.元素取完也就结束了.复杂度O(n^2). 代码: 1 #inc ...

  8. 《软件工程导论》课后习题解答

    来源:https://blog.csdn.net/Rong_Toa/article/details/80771976 第一章 软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过 ...

  9. 算法导论 3-3 根据渐近增长率排序

    (根据渐近增长率排序) a. 根据增长的阶来排序下面的函数,即求出满足,,-的函数的一种排列,,-的函数的一种排列,,-.把你的表划分成等价类,使得函数和在相同类中当且仅当. ,,,,,,,,,,,, ...

  10. 算法导论 CLRS 22.4-4 解答

    先说结论: 对于有环图,top排序不一定可以生成坏边最小的序列 证明: 1. 假设G至少需要去掉k条边才能变成无环图,则任意序列P的坏边数目bad[P] >= k: 证明: 如果存在P使得bad ...

最新文章

  1. 假如易立竞吐槽程序员......
  2. FL计算机软件,FL Studio12水果音乐制作软件
  3. c winform 上传文件到mysql_Winform下如何上传图片并显示出来。同时保存到数据库...
  4. python学习day-8 迭代器 生成器 装饰器
  5. 串结构练习——字符串连接
  6. 现代密码学1.2--Kerckhoffs原则
  7. 对oracle sql的一些总结
  8. Mozilla 将 Firefox 的命运与 Rust 语言捆绑在一起
  9. 百练1089:数字反转
  10. 最简单的基于FFmpeg的AVDevice例子(读取摄像头)
  11. 实验3 分支语句和循环语句(1)
  12. Docker系列一之基础快速入门企业实战
  13. 英语-汉语600句-会见:Making an Appointment/约会
  14. 浅谈分子动力学(MD)模拟及其势文件
  15. antdvue 表格插入自定义行
  16. 天啦噜!我竟然见到了超级网红区块链本人
  17. 捕获Chrome浏览器全屏退出事件
  18. 【MindSpore】DCGAN生成漫画头像-----利用华为云modelarts云终端实现
  19. 一个屌丝程序猿的人生(八十)
  20. 动漫推荐之境界的彼方

热门文章

  1. Oracle12c操作命令
  2. [.NET] 《Effective C#》快速笔记(四)- 使用框架
  3. linux 文件与目录操作
  4. 缓存与IO(很经典)
  5. 黄聪:php实现关键词高亮
  6. python源码保护之cython
  7. 2月26日 光流,跟踪算法的尝试
  8. 大数据流水线系统PiFlow v0.5
  9. homestead安装swoole扩展
  10. jmeter需要学习的其他点