日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

插播面试题:海量数据求最大值Topk或者是最小值Topk

發(fā)布時間:2024/4/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 插播面试题:海量数据求最大值Topk或者是最小值Topk 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如果數(shù)據(jù)量堪稱是海量的時候,我們還需要耗費大量的時間空間排序后在排序完成后取他們的前k個最大值或者是前k個最小值么?面對海量數(shù)據(jù),并不要求所有的數(shù)據(jù)都排序成有序序列時,我們沒有必要采用各式各樣的排序算法對所有數(shù)都進行排序后再獲得TopK值,這道題在面試題中可能會經(jīng)常碰到,考察的就是排序中的堆排序。

輸入:所有需要排序的數(shù)據(jù),記作a1a2...ak,k值

輸出:k個最大元素

對a1a2...ak建小頂堆(最小堆),根節(jié)點記為aroot

遍歷剩余的元素,即ak+1ak+2ak+3....an:

如果元素值小于aroot,則跳過,此值和我們所需要的K個最大值一定是無關(guān)的。

如果元素值大于aroot,則將該元素和aroot替換,并調(diào)整堆,使得符合小頂堆。

遍歷結(jié)束,小頂堆上所有的節(jié)點就是我們所需要求的最大值Topk。

相反,求最大值Topk則利用大頂堆。

那么為什么我們不能選擇其他的排序方法呢?

在內(nèi)部排序方法中,一趟排序后只有直接選擇排序和起泡排序可以選出一個最大的或者是最小的元素,并加入到已有的有序子序列中,但是要比較n-1次,再選次大元素的時候有需要比較n-2詞,這樣排序的時間復(fù)雜度為O(n2)。如果是海量數(shù)據(jù)的話,則意味著n會很大,那么為了選擇前k個最大的元素那么它的時間復(fù)雜度過大,不能采用這種方法。

而插入排序、快速排序、歸并排序以及基數(shù)排序等排序方法雖然時間性能比較好,但是需要把所有元素都完全排序完成,直到最后才能確定各元素的位置。

而堆排序,在未結(jié)束全部排序前,就可以得出部分排序結(jié)果。在對前k個元素建立堆后,堆頂元素則是最大元素,調(diào)堆又能獲得次大元素,這樣就可以獲得前k個最大元素。一般在數(shù)據(jù)量比較大時選出k個最大或者是最小的元素使用的一般是堆排序。

首先堆排序建堆比較的次數(shù)至多不超過4n,對于深度為k的堆,在調(diào)堆算法中關(guān)鍵字比較的次數(shù)至多為2(k-1)次,且輔助空間為O(1),所以在這種情況下我們會選擇堆排序。

既然講到了堆排序,下面就涉及以下堆排序的思想:

建堆過程:將待排序序列看作是一個完全二叉樹,不斷從n/2的下界開始篩選,不斷篩選最終建成堆,可以看下面的建堆過程,圖示為建小頂堆的過程。

調(diào)堆過程:將堆頂元素與堆的最后一個記錄交換,之后將序列中的前n-1記錄重新調(diào)整為堆,再將的堆頂記錄和當(dāng)前堆序列的最后一個記錄交換,如此反復(fù)直到排序結(jié)束。

堆排序的優(yōu)點:時間性能與樹形選擇排序?qū)儆谕涣考?#xff0c;并且只需要一個記錄大小供交換用的輔助空間,調(diào)堆時子女只和雙親比較。

?

總結(jié)

以上是生活随笔為你收集整理的插播面试题:海量数据求最大值Topk或者是最小值Topk的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九九精品视频 | 日本少妇xxxxx| 在线观看免费成人 | 天天综合在线观看 | 这里都是精品 | 伊人青草 | 国模大尺度自拍 | 一二三四区在线 | 熟妇人妻va精品中文字幕 | 欧美日韩国产一区二区 | 九九九久久久精品 | 91精品国产乱码在线观看 | 国产一级一片免费播放放a 丁香六月色 | 国产精品性色 | japanese国产| 国产精品一区二区在线 | 亚洲18在线看污www麻豆 | 菊肠扩张playh | 又大又粗弄得我出好多水 | 国产精品第5页 | 一级黄色免费观看 | 国产主播在线播放 | 深夜视频一区二区三区 | 国产又大又黑又粗免费视频 | 春色伊人 | 久久精品福利 | av波多野吉衣 | 精品久久久无码中文字幕边打电话 | 处女朱莉| 性色视频网站 | 最近免费中文字幕 | 深夜免费视频 | 国产三区在线成人av | 亚洲婷婷网| 色干干| 国产精品一区二区三 | 少妇又色又紧又大爽又刺激 | 波多野结衣黄色片 | 激情视频免费观看 | 自拍99| 亚洲精品视频免费 | 影音先锋资源av | 污污在线看 | 日韩毛片免费看 | 午夜在线影院 | 国产在线拍揄自揄拍 | 日日操夜夜操狠狠操 | www.youjizz日本| 日韩在线视频免费播放 | 日韩精品av一区二区三区 | 国产伦精品一区二区三区网站 | 香蕉视频成人在线观看 | 欧美性福利 | 一区二区成人在线观看 | 成年人视频在线播放 | 成人免费在线电影 | 久久视频这里只有精品 | 日韩美女中文字幕 | 在线看不卡av| 91猎奇在线观看 | 1024日韩| 在线视频一区二区三区四区 | 特级免费毛片 | 久久九九国产精品 | 亚洲最新av网站 | 六月丁香婷婷激情 | 99热中文| 九九这里只有精品视频 | 调教撅屁股啪调教打臀缝av | 青青草免费公开视频 | 老熟妇一区二区三区啪啪 | 国产激情视频在线 | 欧美成人一区二区在线 | 午夜精品电影 | 成人网视频 | 91久久精品一区二区三 | 久久av资源网 | 91免费国产在线 | 日韩精品一二区 | 久久亚洲在线 | 少妇厨房愉情理伦bd在线观看 | 九一国产精品 | 国产第3页 | 国产精品一区在线免费观看 | 中国无码人妻丰满熟妇啪啪软件 | 超碰97人人草 | 伊人艹| 免费一级a毛片夜夜看 | 男女操操视频 | 日本一区二区免费电影 | 完全免费在线视频 | 成人免费观看网址 | www伊人网 | 久草大 | 在线不卡av | 夜夜高潮夜夜爽国产伦精品 | 美丽姑娘免费观看在线观看 | 欧美在线激情视频 | 好男人资源 |