传输速率的比较 快排的最好和最坏的时间复杂度比较 递归深度的问题 ackerman函数
来源:互联网 发布:航空货物查询知乎 编辑:程序博客网 时间:2024/06/14 05:35
1.使用USB2.0闪存盘,往USB闪存盘上拷贝文件的数据传输速率
2.使用100M以太网,在局域网内拷贝大文件时网络上的数据传输速率
3.使用一辆卡车拉1000块单块1TB装满数据的硬盘,以100km/h的速度从上海到天津(100km)一趟所等价的数据传输带宽
4.使用电脑播放MP3,电脑的PCI总线到声卡的数据传输速率
在通常情况下,关于这几个传输速率的排序正确的是()
普通U盘写数据的6MB/s,即48Mbps; 100M以太网的速率就是100Mbps; 卡车拉硬盘,1000x1000x8/3600=2222Mbps,这个应该是最快的; MP3在256kbps码率下也平均只有1分钟2MB,所以不会超过0.3Mbps,所以一定是最慢的。
快排最好的时间复杂度是:
O(nlogn)
快排最坏的时间复杂度是:
O(n^2)
从N个数里面比较 找最大的两个数 理论最少需要比较()次?
用堆排序考虑
首先找最大的数:需要两两比较,总共需要比较N-1次得出最大值
其次找次小的数:第二大的数肯定是跟冠军比较过的数字,那么很明显每一层都有一个,所以有logn-1次比较。
对n个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是()
每次分区后,先处理较短的部分
觉得还是要弄清递归深度和栈深度的区别吧 看了那么多回复,感觉这个题问的是递归深度(也就是自己调用自己的次数) 栈深度就是这些空间复杂度,对于栈深度,不论是先处理长序列还是先处理短序列,空间复杂度都是相同的,都是元素的总个数,但是递归深度就不同了,上面举得例子说,极端情况下,每次短序列长度均为1,那么递归深度始终是1,(优先处理短序列),如果先处理长序列,那么递归的深度就要大于1,因为长序列可能要多次递归,才能出栈,最终长序列递归完之后,还要再递归一次短序列(长序列优先),所以说,长序列优先的递归深度要大于短序列优先
一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字
哈夫曼树并不是满二叉树,是正则二叉树(也叫正规二叉树),即其中只有度为0和度为2的结点因为n0 = n2 + 1,n = n0 + n2; 所以 n = 2n0 - 1,即n0 = (n + 1) / 2;叶子结点n0对应的即是不同的编码。至于满二叉树当然也是正则二叉树的特例。
定义:
{ n+1; m=0,n>0
A(m,n) = { A(m-1,1); n=0,m>0
{ A(m-1,A(m,n-1)) n>0,m>0
1,ack(1,n)=ack(0,ack(1,n-1))+1=ack(1,n-1)+1; //递推式
由递推式得:ack(1,n)=n+1;
ps:递推式形如 A(n) = A(n-1) + 1,求A(n)。
用的是高中数学知识,方法是“累加法”(加起来然后消掉),是否想起来了?
2,ack(2,n)=ack(1,ack(2,n-1))=ack(2,n-1)+2; //递推式
由递推式得:ack(2,n)=2n+3;
ps:A(n) = A(n-1) + 2,方法同 1
3,ack(3,n)=ack(2,ack(3,n-1))=2*ack(3,n-1)+3; //递推式
即:ack(3,n)+3=2(ack(3,n-1)+3)
得: ack(3,n)+3=(ack(3,1)+3)*2n-1;
又ack(3,1)=2ack(3,0)+3
ack(3,0)=a(2,1)=5
所以ack(3,1)=13;
所以 ack(3,n)=2n+3 - 3;
ps:递推式形如 A(n) = 2*A(n-1) + 3,求A(n)。
方法是“拆分常数”,拆分常数3后 A(n) + 3 = 2*( A(n-1) + 3 ),
令B(n) = A(n) + 3,即有 B(n) = 2*B(n-1),等比数列啊,B(n)=B(1)*2n-1,
求出B(1),得到B(n),即可得到A(n)。
所以:ack(3,3)=61;
- 传输速率的比较 快排的最好和最坏的时间复杂度比较 递归深度的问题 ackerman函数
- 排序的最好和最坏的时间复杂度问题
- 排序的最好和最坏的时间复杂度问题
- 各种排序最好最坏的比较次数
- 快排的最坏情况
- 常见排序的最好,平均以及最坏时间复杂度
- 快排和归并排序的比较
- 时间复杂度的比较
- 几种排序在最坏和最好情况下的时间复杂度
- 冒泡、快排、直插三种排序的比较
- 快排,保证最坏情况下,栈的深度为log(n)
- Ackerman函数A(m, n)的递归和循环实现
- Ackerman函数的非递归实现.
- Ackerman函数的递归实现算法
- 各排序算法最好最坏平均情况下的时间复杂度
- 排序问题:各种排序算法的时间复杂度 比较
- Ackerman 函数的解法
- 内排序算法的时间复杂度比较
- 学习笔记八之线程
- 学习笔记七之网络编程(UDP)
- CSDN-markdown编辑器
- shell常用命令
- scanf(), getchar(), 以及gets()函数注意点
- 传输速率的比较 快排的最好和最坏的时间复杂度比较 递归深度的问题 ackerman函数
- select函数总结
- 编程艺术 二进制中1的个数
- 并发 并行 同步 异步 多线程的区别
- chrome视频下载插件
- 内存对齐的初步讲解--linux和windows平台下内存分配的差异
- c语言之字符串分离
- Tomcat与Apache Http Server集成实现负载均衡(二)
- 跨平台时基于数据结构的网络通信