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

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

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

4
(Коли) є пошук хеш-таблиці O (1)?
Часто кажуть, що пошук хеш-таблиць працює в постійний час: ви обчислюєте значення хеша, яке дає вам індекс для пошуку масиву. І все ж це ігнорує зіткнення; в гіршому випадку кожен елемент висаджується в одне відро і час пошуку стає лінійним ( ).Θ(n)Θ(n)\Theta(n) Чи є умови в даних, які можуть зробити …

5
Як цей алгоритм сортування Θ (n³), а не Θ (n²), в гіршому випадку?
Я щойно розпочав курс з структур даних та алгоритмів, і мій асистент з викладання дав нам наступний псевдокод для сортування масиву цілих чисел: void F3() { for (int i = 1; i < n; i++) { if (A[i-1] > A[i]) { swap(i-1, i) i = 0 } } } Це …

3
Чому двійковий пошук швидший, ніж потрійний пошук?
Пошук масиву з елементів за допомогою двійкового пошуку займає, в гіршому випадку, ітерацій, оскільки на кожному кроці ми половину нашого простору пошуку. Якщо замість цього ми використовували "потрійний пошук", ми би відрізали дві третини свого пошукового простору при кожній ітерації, тож найгірший випадок повинен мати ітерацій ...NNNlog2Nlog2⁡N\log_2 Nlog3N&lt;log2Nlog3⁡N&lt;log2⁡N\log_3 N < …

3
Як моделюється складність алгоритму для функціональних мов?
Складність алгоритму розроблена таким чином, щоб він не залежав від деталей нижчого рівня, але він заснований на імперативній моделі, наприклад, доступ до масиву та модифікація вузла в дереві займають час O (1). Це не так у чисто функціональних мовах. Список Haskell потребує лінійного часу для доступу. Модифікація вузла на дереві …

2
Чому журнал у великому-O двійкового пошуку не є базовим 2?
Я новачок у розумінні алгоритмів інформатики. Я розумію процес бінарного пошуку, але у мене є незначне непорозуміння з його ефективністю. За розміром елементів знадобиться, в середньому, n кроків, щоб знайти певний елемент. Приймаючи логарифм основи 2 з обох сторін, виходить log 2 ( s ) = n . Так що …

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

2
Чому тип пустоти C не є аналогом типу порожній / нижній?
Вікіпедія, а також інші джерела, які я знайшов, перелічують voidтип C як тип одиниці, а не порожній. Я вважаю це заплутаним, як мені здається, що voidкраще відповідає визначенню типу порожній / нижній. voidНаскільки я можу сказати, цінності не населяються . Функція з типом повернення void вказує, що функція нічого не …
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

3
Чому сортування селекції швидше, ніж сортування бульбашок?
У Вікіпедії написано, що "... сортування вибору майже завжди перевершує сортування бульбашок та сортування гномів". Чи можете мені хто-небудь пояснити, чому сортування селекції вважається швидшим, ніж сортування бульбашок, хоча вони мають: Найгірша складність часу :O(n2)O(n2)\mathcal O(n^2) Кількість порівнянь : O(n2)O(n2)\mathcal O(n^2) Найкраща складність часу : Сорт бульбашки:O(n)O(n)\mathcal O(n) Сортування вибору:O(n2)O(n2)\mathcal …

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

2
Як описати алгоритми, довести та проаналізувати їх?
Перш ніж читати «Мистецтво комп’ютерного програмування» (TAOCP) , я глибоко не розглядав ці питання. Я б використовував псевдо-код для опису алгоритмів, розуміння їх та оцінки часу виконання лише щодо порядків зростання. TAOCP ретельно змінює свою думку. TAOCP використовує англійську мову, змішану з кроками та goto, для опису алгоритму, а також …

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

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

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

5
Для яких типів застосовуються операції з хеш-таблицею O (1)?
З відповідей на (Коли) - пошук хеш-таблиці O (1)? , Я вважаю, що хеш-таблиці мають O(1)O(1)O(1) поведінку в найгіршому випадку, принаймні амортизовану, коли дані задовольняють певним статистичним умовам, і існують методи, які сприяють розширенню цих умов. Однак, з точки зору програміста, я не знаю заздалегідь, якими будуть мої дані: вони …

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