希爾排序算法代碼 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?既然是java題,這就是經(jīng)典的topk問題。先取前100個數(shù),建立一個最小堆,剩下的數(shù)依次從堆頂插入元素,同時調(diào)整堆。最后堆中的100個元素即
一道java面試題,20億數(shù)字的文本排序,如何取前100?
既然是java題,這就是經(jīng)典的topk問題。先取前100個數(shù),建立一個最小堆,剩下的數(shù)依次從堆頂插入元素,同時調(diào)整堆。最后堆中的100個元素即為結(jié)果??臻g復(fù)雜度為k,時間復(fù)雜度為nlogk
c 快速排序算法代碼?
如果你排序的數(shù)據(jù)容量比較小的話就用選擇,冒泡,或者插入,時間都差不多。如果你的數(shù)據(jù)比較大的話,就要用快排,歸并,堆排序??!