2014-06-15 106 views
-2

我有一個考試來了,我一直在做一些樣本考試的修訂。減法算法的意思是什麼?

我遇到了一個問題,問「插入排序是一個減少一個算法,這是真的嗎?」,我不知道。我所知道的關於d-b-o算法的基本知識是每次迭代時問題的大小都變小。

我可以得到關於這方面的更多信息嗎?謝謝。

+1

這更適合[程序員.stackexchange.com](http://programmers.stackexchange.com/) - 這是像你的概念問題。 –

+0

@JanDvorak是的,但我仍然不明白。謝謝。 – user2211574

+2

@ user2211574請將您的研究納入問題中,以避免重申您已經找到的內容。你發現了什麼,爲什麼你不明白它? –

回答

2

插入排序將要排序的元素集合拆分爲兩個子集:1)已排序,2)尚未排序。 「尚未排序」子集中的元素將逐個移動到「已排序」集中。由於問題的大小實際上是「尚未排序」集合的大小,因此在每次這種情況下都會減少一個。該算法因此可以被分類爲「逐個減少」。

有關該算法的更多信息,請參見http://en.wikipedia.org/wiki/Insertion_sort,關於'逐個減少'概念的http://www.csl.mtu.edu/cs4321/www/Lectures/Lecture%2010%20-%20Decrease%20and%20Conquer%20Sorts%20and%20Graph%20Searches.htmhttp://faculty.simpson.edu/lydia.sinapova/www/cmsc250/LN250_Levitin/L07-DecreaseConquer.htm#one

+0

查看這些鏈接中的講義,我對這個答案最滿意。雖然我還沒有完全理解分類。這是否意味着一次只處理一個元素? – bstar55

+0

在插入排序的情況下,是的,一次只處理一個元素,即從「尚未排序」設置爲「已排序」的元素。更一般的分類包括「減少一個常數因子」或「可變尺寸減少」​​。 – DrWatson