社区
数据结构与算法
帖子详情
求Stooge算法分析
sandsboy
2004-03-20 01:38:46
StoogeSort(A,i,j)
{
if(A[i]>A[j]) Swap(A[i]>A[j]);
if(i+1>=j) return;
k=(j-i+1)/3;
StoogeSort(A,i,j-k);
StoogeSort(A,i+k,j);
StoogeSort(A,i,j-k);
return;
}
算法在什么情况下达到最坏情形,其时间复杂度是多少?
请给出具体分析步骤。
...全文
30
5
打赏
收藏
求Stooge算法分析
StoogeSort(A,i,j) { if(A[i]>A[j]) Swap(A[i]>A[j]); if(i+1>=j) return; k=(j-i+1)/3; StoogeSort(A,i,j-k); StoogeSort(A,i+k,j); StoogeSort(A,i,j-k); return; } 算法在什么情况下达到最坏情形,其时间复杂度是多少? 请给出具体分析步骤。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sandsboy
2004-03-21
打赏
举报
回复
是Swap(A[i],A[j]);
sandsboy
2004-03-21
打赏
举报
回复
知道了,谢了
sandsboy
2004-03-21
打赏
举报
回复
为什么是n*2/3能否说清一些
gnefuil
2004-03-21
打赏
举报
回复
设f(n)为当j-i+1=n时,StoogeSort所需要的时间
因此可以得到递归方程:
f(n)=3f(n*2/3)+g(n)
其中g(n)为其他运算所需要的时间,在这里O(g(n))=O(1),因为只有两次比较、一次交换、一次赋值操作
根据主方法可得O(f(n))=n^log(3/2,3)
sandsboy
2004-03-20
打赏
举报
回复
急,在线等。
stooge
Sort排序
算法
不过被一个课后习题难到了:
stooge
算法
。试着举例来证明一下,不过没有成功。不过找到了一个使用循环不变性(有的人叫循环不变式,不过感觉这种叫法好一些。)证明的。答案如下:
STOOGE
-SORT(A, i, j) 1 if A[i]...
排序
算法
(四):
Stooge
排序
1..
算法
原理 ...Howard、Fine等教授提出的
Stooge
排序
算法
则将数组分成3部分,分别对其排序后合并。伪代码如下: STOOGT_SORT(A,left,right) if A[left]>A[right] then exchange (A[left],A[ri
精妙的
Stooge
排序
算法
精妙的
Stooge
算法
:
STOOGE
-SORT(A, i, j) { if A[i] > A[j] then exchange A[i] and A[j] if i + 1 >= j then return k = (j - i + 1) / 3
STOOGE
-SORT(A, i, j - k) // First two
Stooge
-sort
Stooge
-sort(A, i, j)if A[i] > A[j] then exchange A[i], A[]if i + 1 >= j then returnk = (j - i + 1) / 3
Stooge
-sort(A, i, j - k)
Stooge
-sort(A, i + k , j)
Stooge
-sort(A, i, j - k)即先排序前2/3部分,...
stooge
排序 效率 说明
不过被一个课后习题难到了:
stooge
算法
。试着举例来证明一下,不过没有成功。不过找到了一个使用循环不变性(有的人叫循环不变式,不过感觉这种叫法好一些。)证明的。答案如下:
STOOGE
-SORT(A, i, j) 1...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章