编程小白求助。遇到两个小编程算法不会

weixin_41793914 2018-12-12 05:12:13
1、给定一个十进制数N,试求其二进制中1的个数,算法满足下列复杂度。(1)时间复杂度为O(nlogn);(2)复杂度只与二进制数中1的个数有关:




2、试写出一个快速排序算法,使得在最坏情况下,快速排序的时间复杂度为O(nlogn)

...全文
178 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgbzsu2008 2018-12-18
  • 打赏
  • 举报
回复
堆排序了解下
636f6c696e 2018-12-14
  • 打赏
  • 举报
回复
参考: https://blog.csdn.net/kisslalaa/article/details/74278852
weixin_41793914 2018-12-13
  • 打赏
  • 举报
回复
谢谢。可是第二题我在网上只搜到快排最坏情况下时间复杂度为O(n^2)的算法,最坏情况下复杂度为O(nlogn)的我还是没找到
英雄@末路 2018-12-13
  • 打赏
  • 举报
回复
1.
while (n)
{
n = n & (n - 1);
count++;
}
AlbertS 2018-12-13
  • 打赏
  • 举报
回复
这两个题都是很常见的测试题,网上一搜就有很多,第一道图题的第二问楼上已给
下面这个搜快速排序算法就行了

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧