愚蠢的提問時間:
有一種主要是手動排序演算法,您可以一次比較串列 2 中的專案,然后從每一對中選擇更重要的專案。A,還是B?A,還是B?現在,這可以在不碰到大 O(n!) 的情況下完成,如果我沒記錯的話,它實際上更接近或小于 O(2n)。不,我不是在談論紅/黑或二分搜索或排序。在我的一生中,我不記得這個程序叫什么,也不記得編碼的確切演算法。
它通常用于對主觀串列項進行排序。例如:
- 將您的核心價值觀從最重要到最不重要
- 從最重要到最不重要的順序排列找房子的要點
示例(更重要):
- 3 間臥室或開放式概念
- 廚師廚房或大儲藏室
- 大儲藏室或 3 間臥室
從長遠來看,我可以解決這個問題。我實際上在幾年前和幾年前做過一次。我時間不夠,本周還有 3 段代碼要完成。任何幫助表示贊賞!
這種型別的名稱是什么?演算法是什么?
uj5u.com熱心網友回復:
如果您談論的只是對串列進行排序,那么任何主要的排序演算法都符合您的標準。并且可以證明它并不比 O(n log n) 好。所有的大排序(冒泡排序、插入排序、堆排序、快速排序、斐波那契排序等)都具有選擇兩個元素并比較它們的特性。事實上,這非常普遍,以至于我們通常關注該規則的例外情況(例如基數排序)。
但是,您的描述聽起來不像對串列進行排序,而更像是成對比較。這有很多變體。例如,有些將保證完整的訂購。其他人將處理改變主意的用戶,產生非傳遞性排序。有些支持測量結果的統計顯著性。這一切都取決于你在尋找什么。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377993.html
上一篇:向JavaScript隨機影像陣列中的影像添加超鏈接
下一篇:如何將SQL轉換為C#
