編程的50種基礎算法 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?因為這是一個Java問題,所以這是典型的TOPK問題。首先取前100個數(shù)字構建一個最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時調(diào)整堆。堆中最
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因為這是一個Java問題,所以這是典型的TOPK問題。首先取前100個數(shù)字構建一個最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時調(diào)整堆。堆中最后100個元素就是結果??臻g復雜度為k,時間復雜度為nlogk
1。工業(yè)上的大規(guī)模模型基本上都是logistic區(qū)域和線性區(qū)域,因此SGD和lbfgs的理解是非常重要的,而并行推導對于理解LR是如何并行的是非常重要的
2。其次,常用的機器學習算法,如SVM、gbdt、KNN等,應該了解其原理,能夠在壓力下快速響應。算法的優(yōu)缺點和適應場景應基本清晰
3基本算法應熟練掌握數(shù)據(jù)結構、鏈表二叉樹、快速行合并、動態(tài)返回等