Перелік рекомендованих джерел. 1. Brian W. KernighanandDennis M

1. Brian W. KernighanandDennis M. Ritchie «The C ProgrammingLanguage» (SecondEdition). — 1988. [ISBN 0–13–110362–8]

2. Donald E. Knuth «TheArtofComputerProgramming»: «Volume 3: SortingandSearching» (SecondEdition). — 1998. [ISBN 0–201–89685–0]

3. OwenAstrachan «BubbleSort: An ArchaeologicalAlgorithmicAnalysis» // ACM SIGCSE Bulletin, Volume 35, Issue 1. — 2003. [ISSN 0097–8418]

 

Лабораторна робота № 2

Лабораторна робота № 2

Тема роботи: Метод сортування вибором.

Мета роботи: Вивчити алгоритм сортування вибором. Здійснити програмну реалізацію алгоритму сортування вибором. Дослідити швидкодію алгоритму сортування вибором.

Короткі теоретичні відомості

Сортування вибором (англійською «SelectionSort») — простий алгоритм сортування лінійного масиву, на основі вставок. Має ефективність O (n 2), що робить його неефективним при сортування велеких масивів, і в цілому, менш ефективним за подібний алогоримт сортування включенням. Сортування вибором вирізняється більшою простотою, ніж cортування включенням, і в деяких випадках вищою продуктивністю.

Алгоритм працює наступним чином:

1. Знаходить у списку найменше значення.

2. Міняє його місцями із першим значеннями у списку.

3. Повторює два попередніх кроки, доки список не завершиться (починаючи з другої позиції).

Фактично, таким чином ми поділили список на дві частини: перша (ліва) — повністю відсортована, а друга (права) — ні.

Сортування вибором не є складним в аналізі та порівнянні його з іншими алгоритмами, оскільки жоден з циклів не залежить від даних у списку. Знаходження найменшого елементу вимагає перегляду усіх n елементів (у даному випадку (n − 1) порівняння), і після цього, переситановки його до першої позиції. Знаходження наступного найменшого елементу вимагає перегляду (n − 1) елементів, і так далі, для (n − 1) + (n − 2) +... + 2 + 1 = n (n − 1) / 2 Î Θ (n 2) порівнянь. Кожне сканування вимагає однієї перестановки для (n − 1) елементів (останній елемент знаходитиметься на своєму місці).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: