Exersise

*8.4-5 定义随机变量XXX的概率分布函数P(x)=Pr{X≤x}P(x)=Pr\{X\leq x\}P(x)=Pr{X≤x}。假设有nnn个随机变量X1,X2,⋯,XnX_1,X_2,\cdots,X_nX1​,X2​,⋯,Xn​。服从一个连续概率分布函数PPP,且它可以在O(1)O(1)O(1)的时间内被计算得到。设计一个算法,使其能够在平均情况下在线性时间内完成这些数的排序。

令P(yi)=Pr{X≤yi}=inP(y_i)=Pr\{X\leq y_i\}=\frac{i}{n}P(yi​)=Pr{X≤yi​}=ni​,i=1,⋯,ni=1,\cdots ,ni=1,⋯,n

P(y1)=1nP(y_1)=\frac{1}{n}P(y1​)=n1​

P(y2)=2nP(y_2)=\frac{2}{n}P(y2​)=n2​

P(y3)=3nP(y_3)=\frac{3}{n}P(y3​)=n3​

⋯\cdots⋯

P(yn)=1P(y_n)=1P(yn​)=1

解出yiy_iyi​作为桶排序中桶的序号,如果X∈(−∞,y1)X\in(-\infin,y_1)X∈(−∞,y1​)则把XXX放入y1y_1y1​桶内,如果X∈(y1,y2)X\in(y_1,y_2)X∈(y1​,y2​)则把XXX放入y2y_2y2​桶内,以此推类,平均情况下每个桶大小大致相同,桶排序可以在Θ(n)\Theta(n)Θ(n)内完成。最坏情况下,每个XXX都在(yn−1,yn)(y_{n-1},y_n)(yn−1​,yn​)之间,即最后一个桶中,寻找桶需要花费O(n2)O(n^2)O(n2),排序需要花费O(n2)O(n^2)O(n2),一共花费O(n2)O(n^2)O(n2)。

算法导论第八章练习参考答案相关推荐

  1. 算法导论第八章思考题

    8-1(比较排序的概率下界) 在这一问题中,我们将证明对于给定的n个互异的输入元素,任何确定或随机的比较排序算法,其概率运行时间都有下界Ω(nlgn).首先分析一个确定的比较排序算法A,其决策树为Ta ...

  2. 时间排序python_算法导论 第八章 线性时间排序(python)

    比较排序:各元素的次序依赖于它们之间的比较{插入排序O(n**2) 归并排序O(nlgn) 堆排序O(nlgn)快速排序O(n**2)平均O(nlgn)} 本章主要介绍几个线性时间排序:(运算排序非比 ...

  3. c malloc 头文件_C/C++笔试题:主要考察C/C++语言基础概念算法及编程,附参考答案...

    1.编写my_strcpy函数,实现与库函数strcpy类似的功能,不能使用任何库函数: 答:char *strcpy(char *strDest, const char *strSrc) { if ...

  4. 算法导论第七章习题答案(第三版) Introduction to Algorithm

    Exercises 7.1-1.略. 7.1-2. 返回的q值等于r,当数组中所有元素都相同时,可以将等于主元的值轮流放到两个集合中. 7.1-3 for循环正好是Θ(n)的复杂度,所以PARTITI ...

  5. 算法导论2.1-2.3 部分答案

    习题2.1.2 #include <iostream>using namespace std; void insectionSort(int a[],int len) {for(int i ...

  6. 算法导论第八章__实现计数排序

    计数排序:不须要比較就能得出排序的顺序__比如.本章的计数排序.基数排序.桶排序 比較排序:须要进行比較才干得出排序的顺序__比如,本章的堆排序.高速排序(本质是插入排序).插入排序 代码清单:计数排 ...

  7. 南京晓庄学院大一第二学期计算机数据结构期末考试试卷及答案,南京晓庄学院数据结构题库参考答案.docx...

    文档介绍: 数据结构与算法****题册(课后部分参考答案)<数据结构与算法>课程组目录课后****题部分第一章绪论 1第二章线性表 3第三章栈和队列 5第四章串 8第五章数组和广义表 10 ...

  8. 算法导论第16章练习题 16.1-4

    16.1-4 假设有一组活动,我们需要将它们安排到一些教室,任意活动都可以在任意教室进行.我们希望使用最少的教室来完成活动.设计一个高效的贪心算法,求每个活动应该在哪个教室来进行. (这个问题也被称为 ...

  9. ❤️万字阿里技术岗笔面试题+参考答案,自信的可以来试试❤️建议收藏

    前些日子在网上偶然间看到了一波阿里的技术笔面试题,自己自信地尝试做了一波,但结果很可惜,在不上网搜参考的情况下,20道题我只做出来8个-真尴尬. 题目水平高低起伏,这里我先把所有题目给大家看一遍,大多 ...

  10. 《算法导论》第四章-第3节_练习(参考答案)

    算法导论(第三版)参考答案:练习4.3-1,练习4.3-2,练习4.3-3,练习4.3-4,练习4.3-5,练习4.3-6,练习4.3-7,练习4.3-8,练习4.3-9 Exercise 4.3-1 ...

最新文章

  1. Ubuntu 18.04缺少libgconf-2.so.4
  2. junit 测试似有方法_Spring整合Junit的使用
  3. ASP.NET Core 6 Minimal API
  4. python 条件概率_机器学习中的概率问题
  5. 基础总结篇之八:创建及调用自己的ContentProvider
  6. epoll边缘触发_epoll事件通知机制详解,水平触发和边沿触发的区别
  7. oracle学习总结一(基础)
  8. 看我用ubuntu virtualbox
  9. 一:Java语言概述
  10. html制作手机预览效果,webstorm实现手机预览页面
  11. bert tensorflow2 serving部署
  12. 常用时序数据地址 MTGNN
  13. 输入法的TSF框架(Text Service Framework)简介
  14. 将ceph与calamari相连(connect ceph servers to calamari)
  15. RTX 3060 快速配置GPU版本tensorflow
  16. C语言:有一个一维数组score,内放10个学生成绩,求平均成绩。
  17. 测试高考体育成绩的软件,高考体育考试项目内容及成绩评定标准
  18. MATLAB调用多个核(常用于跑多次再取平均的仿真)
  19. .NET 夏普比率,波动率的公式讲解和代码实现运算
  20. linux下阅读MHT文件

热门文章

  1. Linux设备驱动开发入门之——hello驱动
  2. docker重置mysql密码
  3. win10系统怎么改奇摩输入法_windows10如何更改输入法
  4. vcpkg安装库时异常解决
  5. 服务器的svnserver修改密码
  6. matlab生成正交试验,正交表的构造方法及Matlab实现.pdf
  7. SCM供应链管理系统实施困难及解决方案
  8. 电子版白底寸照如何制作
  9. saspython知乎_SAS入门书籍有哪些值得推荐?
  10. 公安部督办侵犯个人信息案:银行行长卖账号