Запитання з тегом «quicksort»


4
Чому рандомізований Quicksort має O (n log n) найгірший час виконання
Рандомізоване швидке сортування - це розширення Швидкого сортування, в якому елемент зведення вибирається випадковим чином. Яка може бути найгірша часова складність цього алгоритму. На мою думку, це має бути , як найгірший випадок, коли випадково обраний шарнір вибирається у відсортованому або зворотному сортованому порядку. Але в деяких текстах [1] [2] …

4
Чому ми не використовуємо швидке сортування у зв’язаному списку?
Алгоритм швидкого сортування можна розділити на наступні етапи Визначте стрижень. Розділіть зв'язаний список на основі стрижня. Рекурсивно розділіть пов'язаний список на 2 частини. Тепер, якщо я завжди вибираю останній елемент як стрижневий, то для виявлення зведеного елемента (1-й крок) потрібно час.O(n)O(n)\mathcal O(n) Після ідентифікації зведеного елемента ми можемо зберігати його …

4
Чи потрібна транзитивність для алгоритму сортування
Чи можливо використовувати алгоритм сортування з неперехідним порівнянням, і якщо так, то чому транзитивність перерахована як вимога до сортування компараторів? Фон: Алгоритм сортування, як правило, сортує елементи списку відповідно до функції порівняння C (x, y), з C(x,y)=⎧⎩⎨−10+1if x≺yif x∼yif x≻yC(x,y)={−1if x≺y0if x∼y+1if x≻y\begin{array}{ll} C(x,y) = \begin{cases} -1 & {\text{if}}\ x\prec …

2
Знаходження k'-го найменшого елемента із заданої послідовності лише з O (k) пам'яттю O (n) час
Припустимо, що ми читаємо послідовність з nnn чисел, по одному. Як знайти kkk '-й найменший елемент просто за допомогою використання клітинної пам'яті O ( k )O(k)O(k) та за лінійним часом ( O ( n )O(n)O(n) ). Я думаю , що ми повинні зберегти перші Kkk члени послідовності і коли отримаємо …

3
Намагаючись зрозуміти це доказ коректності Quicksort
Цей доказ є доведенням за допомогою індукції і йде так: P (n) - твердження, що "Quicksort правильно сортує кожен вхідний масив довжиною n". Базовий регістр: кожен вхідний масив довжиною 1 вже відсортований (утримується P (1)) Індуктивний крок: fix n => 2. Зафіксуйте вхідний масив довжиною n. Необхідно показати: якщо P …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.