Зворотний зв'язок

ПОШУК, СОРТУВАННЯ ТА ПОНЯТТЯ СКЛАДНОСТІ У ПРОГРАМУВАННІ

v := A[lo]; {?!}

треба задати обмін значень A[lo] та відповідного елемента, чиє значення вибирається відокремлюючим.

Задачі

8. Переробити процедуру Merges так, щоб на кроці з непарним номером перший масив без копіювання зливався в другий, а на кроці з парним номером, навпаки, другий без копіювання зливався в перший.

9.* Написати нерекурсивний варіант сортування деревом (підр.17.4.2).

10. За масивом із N рядків визначається додатковий індексовий масив: попаpно pізні значення його елементів належать діапазону 1..N і є індексами в масиві рядків. Написати процедуру

а) сортування індексового масиву таким чином, щоб рядки, на які посилаються його послідовні елементи, були лексикогpафічно впоpядковані;

б) друкування рядків масиву за зpостанням у лексикографічному порядку (кожний рядок друкується один pаз незалежно від кількості повтоpень у масиві).

11. Написати процедуру обчислення N (N  1000) найменших значень числової послідовності довільної довжини за умови, що

а)* незалежно від кількості повтоpень усі числа враховуються один pаз кожне;б) число враховується стільки pазів, скільки воно зустрілося в послідовності (але не більше ніж N);

в) числа враховуються один pаз кожне, але ведеться додатковий облік кількостей їх повтоpень.

12. Запрограмувати злиття

а) трьох б) п'яти в) тисячі

упорядкованих послідовностей в одну.

13.* Запрограмувати сортування елементів зв'язаного списку. Складність алгоритму повинна бути O(nlogn).

14. Запрограмувати сортування послідовностей із

а) чотирьох елементів так, щоб виконувалося не більше п'яти порівнянь;

б) п'яти елементів так, щоб виконувалося не більше восьми порівнянь;

в) п'яти елементів так, щоб виконувалося не більше семи порівнянь.

5. Відсортуй, і багато чого побачиш

Вам треба огородити сад із деревами, витративши на огорожу якомога менше матеріалу. Вважатимемо, що дерев не менше трьох, і вони задаються координатами на площині. Розв'язання полягає в побудові так званої опуклої оболонки навколо множини точок із заданими координатами. На площині вона являє собою опуклий багатокутник, що містить усі задані точки і не містить інших опуклих багатокутників, які також "накривають" усі точки.

Якщо намалювати план саду, то побудова оболонки стане очевидною. Треба відшукати якусь "крайню" початкову точку і рухатися від неї, малюючи опуклий багатокутник. Як результат, ми одержимо послідовність вершин – заданих точок, на які "натягнуто" багатокутник. Точки, що потрапили на сторону багатокутника, але не є вершинами, можна відкинути.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат