排序

2/49ページ

演算法、資料結構、排序

如果說各種程式語言是程式設計師的招式,那麼資料結構和演算法就相當於程式設計師的內功。 想寫出精煉、優秀的程式碼,不通過不斷的錘鍊,是很難做到的。 開這個系列的目的是為了自我不斷積累。不積跬步無以至千里嘛。  資料結構篇 線性表 順序表的演算法 單連結串列的演算法 雙連結串列的演算法 迴圈連結串列的演 […]

MapReduce shuffle過程詳解

一、MapReduce計算模型 我們知道MapReduce計算模型主要由三個階段構成:Map、shuffle、Reduce。 Map是對映,負責資料的過濾分法,將原始資料轉化為鍵值對;Reduce是合併,將具有相同key值的value進行處理後再輸出新的鍵值對作為最終結果。為了讓Reduce可以並行 […]

降維-主成分分析(PCA)

主成分分析(Principal Components Analysis)是由Hotelling於1933年首先提出的。由於多個緯度變數之間往往存在著一定程度的相關性。人們自然希望通過線性組合的方式,從這些指標中儘可能快地提取資訊。當這些緯度變數的第一個線性組合不能提取更多的資訊時,再考慮用第二個線性 […]

Solr打分排序規則自定義

在搭建好solrCloud搜尋叢集后,通過編寫基本的查詢顯示語句已經能夠通過輸入關鍵字查詢到相應結果進行顯示,但是在顯示結果排序上以及不相關資訊過濾問題上,如何制定合理的打分規則得到理想的結果集確實比較麻煩的。Solr本身的排序打分規則是繼承自Lucene的文字相關度的打分即boost,這一套演算法 […]

排序——堆排序-大根堆(大頂堆)

1.小根堆 若根節點存在左子女則根節點的值小於左子女的值;若根節點存在右子女則根節點的值小於右子女的值。 2.大根堆 若根節點存在左子女則根節點的值大於左子女的值;若根節點存在右子女則根節點的值大於右子女的值。 3.結論 (1)堆是一棵完全二叉樹(如果公有h層,那麼1~h-1層均滿,在h層連續缺失若 […]

C/C 10大演算法之插入排序

 插入排序適用於小規模排序,其原理: 設下標0,即Array[0]為已排好序的子列,從陣列下標1,即第二個元素Array[1]開始,依次與子列相比較,直到當前的排序元素小於子列的元素不成立(小於則交換位置),就結束當前排序,進入下一次排序,直到子列長度等於陣列長。虛擬碼: for (int i […]