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

алгоритмічна задача впорядкування набору елементів відносно деякого відношення впорядкування.

3
Практичні програми сортування Radix
Теоретично сортування Radix дуже швидко, коли ви знаєте, що ключі знаходяться у певному обмеженому діапазоні, скажімо, наприклад, значень у діапазоні . Якщо ви просто конвертуєте значення в базу яка займає час, зробіть базу radix сортування, а потім перетворіть назад у початкову базу для загального алгоритму .ннn[ 0 … nк- 1 …

3
Який найефективніший алгоритм сортування постійного простору?
Я шукаю алгоритм сортування для масивів int, який не виділяє байт, окрім розміру масиву, і обмежується двома інструкціями: SWAP: підміняйте наступний індекс на поточний; Перемістити: переміщує курсор на +1 або -1 індекс; Тобто ви не можете поміняти 100місцями не сусідніми індексами, а також не поміняти індекс після того, як ви …

3
Детермінований лінійний алгоритм часу, щоб перевірити, чи є один масив відсортованою версією іншого
Розглянемо наступну проблему: Вхідні дані: два масиви і довжиною , де у відсортованому порядку.AAABBBnnnBBB Запит: чи містять і однакові елементи (за їх кратністю)?AAABBB Який найшвидший детермінований алгоритм цієї проблеми? Чи можна це вирішити швидше, ніж їх сортування? Чи можна цю проблему вирішити в детермінований лінійний час?

2
Сортувати масив з 5 цілих чисел з максимумом 7 порівнянь
Як можна сортувати список з 5 цілих чисел таким чином, що в гіршому випадку він займає 7 порівнянь? Мені все одно, скільки інших операцій виконуються. Я не знаю нічого конкретного про цілі числа. Я спробував декілька різних підходів до ділення та підкорення, які дозволяють мені знизитись до 8 порівнянь, таких …

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

2
Яка перевага рандомізованого Quicksort?
У своїй книзі рандомізованих алгоритми , Motwani і Raghavan відкрити введення з описом їх функції RandQS - рандомізованих - де швидкої сортуванням стрижень, який використовується для поділу безлічі на дві частини, вибирається випадковим чином . Я протягом певного часу ламаю свої (правда, дещо недооцінені) мізки, але я не зміг зрозуміти, …

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

4
Кіксорт пояснив дітям
Минулого року я читав фантастичний документ на тему "Квантова механіка для дитячого саду" . Папір був непростим. Зараз мені цікаво, як пояснити хитрощі найпростішими можливими словами. Як я можу довести (або принаймні рукохвиль), що середня складність становить , і які найкращі та найгірші випадки стосуються до класу дитячих садків? Або …

2
Ефективне введення в список, зберігаючи кількість інверсій мінімальною
Припустимо два списки порівняних предметів: u та s. Нехай INV (u) - кількість перетворень u. Я шукаю ефективний алгоритм для вставки елементів s в u з мінімальним збільшенням INV (u). В основному я хотів би вставити об'єкти до списку, зберігаючи його "якомога більше сортованим", зберігаючи порядок першого списку. Приклад: u …

1
Чи можна перевірити сортування списку, не порівнюючи сусідів?
Список nnn -item можна перевірити як упорядкований, порівнюючи кожен елемент із сусідом. У своїй програмі я не зможу порівнювати кожен предмет із його сусідом: натомість порівняння часом будуть між віддаленими елементами. Зважаючи на те, що список містить більше трьох елементів, а також те, що порівняння є єдиною підтримуваною операцією, чи …
14 sorting 

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 …

1
Цікава проблема сортування
Дано трубку з пронумерованими кульками (випадковим чином). У трубці є отвори для видалення кульки. Розгляньте наступні кроки для однієї операції: Ви можете вибрати одну або кілька кульок з отворів і запам’ятати порядок, в якому ви вибирали кульки. Потрібно нахилити трубу вліво, щоб залишилися кульки в трубі зміщувалися вліво і займали …

1
Очікувана кількість свопів у сортуванні бульбашок
Враховуючи масив з цілих чисел, кожен елемент масиву може бути збільшений на фіксоване число з деякою ймовірністю , . Я повинен знайти очікувану кількість свопів, які відбудуться для сортування масиву за допомогою сортування бульбашок .AAANNNbbbp[i]p[i]p[i]0≤i&lt;n0≤i&lt;n0 \leq i < n Я спробував таке: Ймовірність для елемента для може бути легко обчислена …

2
Чи можна уникнути кроку "поділу" у вигляді злиття?
Отже сортування злиття - це алгоритм розділення та підкорення. Під час перегляду вищевказаної діаграми я думав, чи можна взагалі обійти всі етапи поділу. Якщо ви повторили початковий масив під час стрибків на два, ви можете отримати елементи в індексі i та i + 1 і помістити їх у власні відсортовані …

4
Оцінка середньої трудомісткості часу заданого алгоритму розгалуження.
Враховуючи цей псевдо-код бульбашки: FOR i := 0 TO arraylength(list) STEP 1 switched := false FOR j := 0 TO arraylength(list)-(i+1) STEP 1 IF list[j] &gt; list[j + 1] THEN switch(list,j,j+1) switched := true ENDIF NEXT IF switched = false THEN break ENDIF NEXT Які основні ідеї я повинен мати …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.