Запитання з тегом «algorithm-analysis»

Питання про науку та мистецтво визначення властивостей алгоритмів, часто включаючи правильність, час виконання та використання місця. Використовуйте тег [аналіз часу виконання] для запитань про час виконання алгоритмів.


2
Чому додавання ймовірностей журналу швидше, ніж множення ймовірностей?
Щоб вирішити питання, в галузі інформатики часто ми хочемо обчислити добуток кількох ймовірностей: P(A,B,C) = P(A) * P(B) * P(C) Найпростіший підхід - просто помножити ці числа, і саме це я збирався зробити. Однак мій начальник сказав, що краще додати журнал ймовірностей: log(P(A,B,C)) = log(P(A)) + log(P(B)) + log(P(C)) Це …

3
Чи з'являються функції з повільнішим зростанням, ніж обернена Акерманна, в межах часу виконання?
Деякі складні алгоритми (пошук об'єднання ) мають майже постійну обернену функцію Акермана, яка виявляється в асимптотичній складності часу, і є найгіршим оптимальним часом, якщо ігнорується майже постійний зворотний термін Акермана. Чи існують приклади відомих алгоритмів із часом виконання, які передбачають функції, які зростають в основному повільніше, ніж обернені Акерманном (наприклад, …

7
Які характеристики алгоритму складності часової складності
Іноді легко визначити часову складність алгоритму, щоб я його ретельно вивчив. Алгоритми з двома вкладеними петлями очевидно . Алгоритми , які досліджують всі можливі комбінації груп з двох значень, очевидно .N 2 N 2 NNNNN2N2N^2NNN2N2N2^N Однак я не знаю, як «помітити» алгоритм зі складністю Θ(NlogN)Θ(Nжурнал⁡N)\Theta(N \log N) . Наприклад, рекурсивна …

5
Скільки триває рекурсія Колатца?
У мене є наступний код Python. def collatz(n): if n <= 1: return True elif (n%2==0): return collatz(n/2) else: return collatz(3*n+1) Який час роботи цього алгоритму? Спробуйте: Якщо позначає час виконання функції . Тоді я думаю, що у мене { T ( n ) = 1 для n ≤ 1 …

1
Яким чином час виконання алгоритму Укконена залежить від розміру алфавіту?
Мене хвилює питання про асимптотичний час роботи алгоритму Укконена , можливо, найпопулярнішого алгоритму побудови дерев суфіксів у лінійному (?) Часі. Ось цитата з книги "Алгоритми про струни, дерева та послідовності" Дена Гусфілда (розділ 6.5.1): "... алгоритми Aho-Corasick, Weiner, Ukkonen та McCreight або вимагають простору , або обмежений час O ( …

3
Навіщо використовувати порівняння замість часу виконання для порівняння двох алгоритмів?
Я зауважую, що в кількох дослідницьких роботах CS, для порівняння ефективності двох алгоритмів, використовується загальна кількість порівняння ключів в алгоритмах, а не самі реальні обчислювальні часи. Чому ми не можемо порівняти, яка з них краща, запустивши обидві програми та підрахувавши загальний час, необхідний для запуску алгоритмів?

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

2
Що складніше: перемішувати відсортовану колоду чи сортувати перетасовану?
У вас є масив з яти різних елементів. У вас є доступ до компаратора (функція чорної скриньки, яка бере два елементи a і b і повертає справжній iff a < b ) і справді випадкове джерело бітів (функція чорної скриньки не бере аргументів і повертає незалежно рівномірно випадковий біт). Розглянемо …

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

4
Рецидиви та генеруючі функції в алгоритмах
Комбінаторика відіграє важливу роль в інформатиці. Ми часто використовуємо комбінаторні методи як в аналізі, так і в дизайні в алгоритмах. Наприклад, один із способів пошуку кришки ккk -вершини, встановленого у графі, може просто перевірити всі можливі підмножини . У той час як біноміальні функції зростають експоненціально, якщо - деяка фіксована …

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

1
Складність алгоритму триангуляції тривожної сили Делоне
У книзі Марк де Берг та ін. "Обчислювальна геометрія: алгоритми та програми" є дуже простий алгоритм грубої сили для обчислення триангуляцій Делоне. В алгоритмі використовується поняття незаконних країв - ребра, які можуть не відображатись у дійсній триангуляції Делоне і повинні бути замінені деякими іншими ребрами. На кожному кроці алгоритм просто …

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

2
Heap - Дайте алгоритм часу
Швидше за все, це питання задають і раніше. Це з проблеми 6.5-8 CLRS (2nd Ed) - Дайте алгоритм часу для об'єднання k відсортованих списків у один відсортований список, де n - загальна кількість елементів у всіх вхідних списках. (Підказка: Використовуйте міні-купу для об'єднання k -way.)O(nlgk)O(nlg⁡k)O(n \lg k)kkknnnkkk Оскільки існує відсортованих …

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