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

Використовуючи якомога менше ресурсів (наприклад, часу, простору) під час вирішення проблеми. Використовуйте цей тег, якщо ваше питання стосується конкретного використання ресурсів, а не для питань загального алгоритму, які часто згадують час роботи.

10
Як мова, чий компілятор написаний на C, коли-небудь може бути швидшою за C?
Переглянувши веб-сторінку Джулії , ви можете побачити деякі орієнтири з декількох мов через декілька алгоритмів (терміни, показані нижче). Як мова з компілятором, спочатку написаним на C, перевершує код C? Малюнок: еталонні часи щодо C (менший, тим краще, продуктивність C = 1,0).

4
Чому поліноміальний час називають "ефективним"?
Чому в інформатиці будь-яка складність, яка є максимум багаточлена, вважається ефективною? Для будь-якого практичного застосування (a) алгоритми зі складністю набагато швидші, ніж алгоритми, які працюють у часі, скажімо, , але перший вважається неефективним, тоді як останній є ефективним. Де логіка ?!nlognnlog⁡nn^{\log n}n80n80n^{80} (а) Припустимо, наприклад, кількість атомів у Всесвіті приблизно …

6
Справа з внутрішньоздатністю: проблеми, повні з NP
Припустимо, що я програміст і у мене є проблема, що завершується NP, що мені потрібно вирішити. Які методи доступні для вирішення проблем NPC? Чи є опитування чи щось подібне на цю тему?

3
Факторний алгоритм більш ефективний, ніж наївне множення
Я знаю, як кодувати фабрикатори, використовуючи як ітераційні, так і рекурсивні (наприклад, n * factorial(n-1)наприклад). Я читав у підручнику (без подальших пояснень), що існує ще більш ефективний спосіб кодування фабрикантів, розділивши їх навпіл рекурсивно. Я розумію, чому так може бути. Однак я хотів спробувати кодувати це самостійно, і я не …

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

7
Чи алгоритми (і ефективність взагалі) стають менш важливими?
Оскільки придбання обчислювальної потужності набагато доступніше, ніж у минулому, чи знання алгоритмів і ефективність стають менш важливими? Зрозуміло, що ви хотіли б уникнути нескінченного циклу, отже, не все йде. Але якщо у вас краще обладнання, ви могли б мати дещо гірше програмне забезпечення?
29 efficiency 

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 …

2
Ефективна структура даних карт, що підтримує приблизний пошук
Я шукаю структуру даних, яка підтримує ефективні приблизні пошуки ключів (наприклад, відстань Левенштейна для рядків), повертаючи найближчу можливу відповідність ключа введення. Найкраща структура даних, яку я знайшов поки що, - це дерева Беркхард-Келлера , але мені було цікаво, чи існують інші / кращі структури даних для цієї мети. Редагувати: ще …

3
Отримання найкоротшого шляху динамічного графіка
Зараз я вивчаю найкоротші шляхи в спрямованих графіках. Існує безліч ефективних алгоритмів пошуку найкоротшого шляху в мережі, як-от dijkstra або bellman-ford. Але що робити, якщо графік динамічний? Під динамікою я маю на увазі, що ми можемо вставляти або видаляти вершини під час виконання програми. Я намагаюся знайти ефективний алгоритм оновлення …

3
Коли тест первинності AKS насправді швидший, ніж інші тести?
Я намагаюся скласти уявлення про те, як слід інтерпретувати тест первинності AKS, коли я дізнаюся про нього, наприклад, слідство для доказу PRIMES ⊆ P або фактично практичний алгоритм тестування первинності на комп’ютерах. Тест має поліноміальне виконання, але з високим ступенем та можливими високими константами. Отже, у практичній мові, при якій …

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

3
Який найефективніший спосіб обчислення фабрики фабрики простим?
Чи знаєте ви який-небудь алгоритм, який ефективно розраховує факторіал за модулем? Наприклад, я хочу програмувати: for(i=0; i<5; i++) sum += factorial(p-i) % p; Але, pє велика кількість (простим) для прямого застосування факторіалу (p≤108)(p≤108)(p \leq 10^ 8) . У Python це завдання дійсно просте, але мені дуже хочеться знати, як оптимізувати.

6
Знаходження максимуму XOR двох чисел в інтервалі: чи можемо ми зробити краще, ніж квадратичне?
Припустимо, нам дано два числа і і ми хочемо знайти для l \ le i, \, j \ le r .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Наївний алгоритм просто перевіряє всі можливі пари; наприклад, у рубінах у нас буде: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if …

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

7
Чи можна сказати, що DFA є більш ефективним, ніж NFA?
Я щойно почав читати про теорію обчислення. Якщо порівняти, який є більш потужним (у прийнятті рядків), обидва однакові. А як щодо ефективності? DFA буде швидким порівняно з NFA, оскільки він має лише один вихідний край, і не буде двозначності. Але у випадку з NFA ми повинні перевірити всі можливі випадки, …

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