小白请教一个问题 英文.怎么让计算机想一个数

有一个算法问题想请教,给定一亿个数,如何用最快的方法取出其中 - 跟谁学
搜索你想学的科目、老师试试,例如“托福”搜索吉安
&&有一个算法问题想请教,给定一亿个数,如何用最快的方法取出其中最近有一个java大神,是蚂蚁支付宝的哦,问了我这么一个问题。我的回答是先将数组分解成两百个小数组或者更多,在开两百个thread进行排序,取最大,然后对这两百个数进行排序,取前三。其实我的思路根本就没有涉及到算法层面,也只是暴力破解。其实这不是最好的做法,因为这样会严重的浪费资源,然后他的回答是堆排序。我的问题是堆排序是怎样实现的,最好用代码体现出来。会潜水的猫飞龙
取前三为什么要排序?新开辟三个变量的空间保存中间结果就行了。这种方法的复杂度是O(nk),n是数据总量,k是要获取的数据数量。排序无论是堆排还是快排都是O(nlogn)。当k小于log(2, 10 ** 8)时还是有优势的,太大了就退化成插入排序了。
有N(N&&10000)个整数,求出其中的前K个最大的数。(称作Top k算法问题)。由于(1)输入的大量数据;(2)只要前K个,对整个输入数据的保存和排序是相当的不可取的。可以利用数据结构的最小堆来处理该问题。最小堆,对于每个非叶子节点的数值,一定不大于孩子节点的数值。这样可用含有K个节点的最小堆来保存K个目前的最大值(当然根节点是其中的最小数值)。每次有数据输入的时候可以先与根节点比较。若不大于根节点,则舍弃;否则用新数值替换根节点数值。并进行最小堆的调整。由于仅仅保存了K个数据,有调整最小堆的时间复杂度为O(logK),因此TOp K算法(问题)时间复杂度为O(nlogK).
Fallenwood
随手一搜 证明及推导参见算法导论但是可以不用堆吧,毕竟只找3个数……
这不是典型的Top k问题吗,你可以百度一下Top K
topn的如果说稳妥的答案堆排是没有错的 问题是这个3取的。。。这么小的数
就是堆排序a
薛定谔之喵
相关问题大家都在看最新提问
关注我们官方微信关于跟谁学服务支持帮助中心我想请教一个问题!_小学数学吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:6,164贴子:
我想请教一个问题!收藏
被除数如果扩大两倍,除数不变,商和余数如何变化
被除数如果扩大两倍,除数不变,商和余数如何变化?被除数如果扩大两倍,除数(不是2)不变,商和余数也扩大两倍;被除数如果扩大两倍,除数(为2)不变,商扩大2倍再加1,余数为0。
1、当余数小于除数的一半时:商与余数都是原来的两倍。2、当余数达到或超过除数的一半时:商=原来的商的两倍+1余数=原来的余数*2-除数
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或小白想请教一个问题!求大神帮忙_配置吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:506,332贴子:
小白想请教一个问题!求大神帮忙收藏
求大神帮忙看看 这台笔记本玩LOL有点卡 该换一下哪里的配置。
想和高颜值妹子找共同话题? 不如先从魅蓝 E2开始聊起
笔记本没啥好换的,升级下内存吧
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 请教一个嫁接问题 的文章

 

随机推荐