原文:線性選擇算法

選擇問題定義,實際上所有處理均可以推廣到集合中包含重復數值的情形。 輸入:一個包含n個 不同的 數的集合A和一個數i, lt i lt n。 輸出:元素x屬於A,它恰大於A中其他的i 個元素。 最大值最小值 針對一個序列取得最大和最小值均需要n 次比較。這是一個下限,確定最大值或者最小值的算法可以看作各個元素之間一場錦標賽,每次比較都是一場比賽,兩個元素中較小的或者較大的獲勝,除了最終的最大值和 ...

2012-12-23 20:23 0 10942 推薦指數:

查看詳情

線性時間選擇算法

在一個由 n 個元素組成的集合中,第 i 個順序統計量(order statistic)是該集合中第 i 小的元素。也就是說,最小值是第 1 個順序統計量(i = 1),最大值是第 n 個順序統計量( ...

Thu Jul 24 06:42:00 CST 2014 1 5974
線性時間選擇算法

線性時間選擇算法 顧名思義,“線性時間選擇”就是“選擇問題”的“線性時間”算法。 1. 選擇問題 元素選擇問題:給定一個能夠線性排序的集合(該集合中有 n 個元素)和 一個整數 k(\(1 \le k \le n\)) ,找出這 n 個元素中第 k 小的元素。 時間下界 ...

Tue Mar 24 07:08:00 CST 2020 2 4840
經典算法總結之線性時間做選擇

問題: 輸入:一個包含n個(不同的)數的集合A和一個數i, 1 <= I <= n。 輸出:元素x∈A, 它恰大於A中其他的I – 1個元素(即求第k小數)。 本博文中尋找最大的K個數(TOP K算法)這篇文章也用了本文中的算法,大家可以參考。 三種算法: 1、 直接排序 ...

Fri Aug 17 18:15:00 CST 2012 0 7378
選擇中位數-線性時間算法

  本章繼續講一些關於奇淫技巧(算法啦)的做法,對於一個無序數組,我們如何找到其中位數呢?   首先回顧一下中位數的概念:是按順序排列的一組數據中居於中間位置的數。   1,當前的先決條件是無序數組,那根據原理可以很快想到一種解法,對數組進行遍歷,每次找出其最大值、最小值,最終殘留的一位或兩位 ...

Sun Jan 19 22:40:00 CST 2020 0 1272
最壞情況為線性時間的選擇算法

算法select可以確認一個有n>1個不同元素的輸入數組中第i小的元素。(如果n=1,則select只返回它的唯一輸入數值作為第i小的元素。) 1.將輸入數組的n個元素划分為n/5(向下取整)組,每組5個元素,則至多只有一組由剩下的n mod 5個元素組成。 2.尋找這n/5(向上取整 ...

Sat Sep 02 22:59:00 CST 2017 0 1194
舍伍德算法線性時間選擇問題

一.概念引入 設A是一個確定性算法,當它的輸入實例為x時所需的計算時間記為tA(x)。設Xn是算法A的輸入規模為n的實例的全體,則當問題的輸入規模為n時,算法A所需的平均時間為。這顯然不能排除存在x∈Xn使得的可能性。希望獲得一個隨機化算法B,使得對問題的輸入規模為n的每一個實例 ...

Fri Nov 20 19:13:00 CST 2020 0 398
算法線性時間選擇(最壞情況下)

線性時間選擇(Linear Select):這個名字不太好理解,什么叫線性時間選擇?一句話,在線性時間內完成選擇。一般情況下是這樣的,我們想要找出一個數組中的最大值或最小值,那就只需要一次排列,然后輸出第一個或最后一個元素就行了,但如果是要找出一個數組中的第k小的元素呢?   在一般情況下 ...

Wed Apr 09 20:45:00 CST 2014 0 6751
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM