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

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

5
Що означає більш швидкий алгоритм у теоретичній інформатиці?
Якщо існує якийсь алгоритм, який працює у часі O(f(n))O(f(n))O(f(n)) для якоїсь проблеми A, а хтось придумує алгоритм, який працює в часі, O(f(n)/g(n))O(f(n)/g(n))O(f(n)/g(n)) , де g(n)=o(f(n))g(n)=o(f(n))g(n) = o(f(n)) , чи вважається це поліпшенням порівняно з попереднім алгоритмом? Чи має сенс у контексті теоретичної інформатики придумати такий алгоритм?
18 algorithms 

3
Чому не існує алгоритмів наближення для SAT та інших проблем вирішення?
У мене проблема з вирішенням NP. Враховуючи приклад проблеми, я хотів би розробити алгоритм, який видає ДА, якщо проблема здійсненна, і, НІ, інакше. (Звичайно, якщо алгоритм не є оптимальним, він буде робити помилки.) Я не можу знайти жодних алгоритмів наближення для таких проблем. Я спеціально шукав SAT і виявив на …

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

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

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

2
Обчислення оберненої матриці при зміні елемента
Дано n × nн×нn \times n матрицю . Нехай обернена матриця буде (тобто ). Припустимо, що один елемент у змінено (скажімо, на ). Мета - знайти після цієї зміни. Чи існує метод пошуку цієї мети, який є більш ефективним, ніж перерахунок зворотної матриці з нуля.A A - 1 A A …

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

8
Чому можна припустити, що алгоритм може бути представлений у вигляді бітового рядка?
Я починаю читати книгу про обчислювальну складність та машини Тюрінга. Ось цитата: Алгоритм (тобто машина) може бути представлений у вигляді бітового рядка, як тільки ми зважимось на якесь канонічне кодування. Це твердження подано як простий факт, але я не можу його зрозуміти. Наприклад, якщо у мене є алгоритм, який приймає …

1
Знайдіть многочлен у двох-трьох запитах
Чорне поле f(x)f(x)f(x) означає, що я можу оцінити поліном в будь-якій точці.f(x)f(x)f(x) Вхід : Чорна скринька монічного многочлена ступеня .f(x)∈Z+[x]f(x)∈Z+[x]f(x) \in\mathbb{Z}^+[x]ddd Висновок: В коефіцієнти многочлена .dddf(x)f(x)f(x) Мій алгоритм: нехай f(x)=xd+ad−1xd−1+⋯+a1x+a0f(x)=xd+ad−1xd−1+⋯+a1x+a0f(x) = x^{d} + a_{d-1} x^{d-1} + \cdots + a_1 x + a_0 Оцініть поліном f(x)f(x)\mathcal{f(x)} у ddd багатьох точках за …

3
Яка мета використання NIL для представлення нульових вузлів?
У моєму курсі " Алгоритми та структури даних" професори, слайди та книга ( Вступ до алгоритмів, 3-е видання ) використовували слово NILдля позначення, наприклад, дочірнього вузла (на дереві), якого не існує. Одного разу під час лекції замість того, щоб сказати NIL, однокласник сказав null, і професор виправив його, і я …

4
Знаходження пари бітових векторів, що не перекриваються
Я даю вам список з nnn бітвекторів шириною kkk . Ваша мета - повернути двох бітвекторів зі списку, які не мають спільного 1, або ж повідомити про відсутність такої пари. Наприклад, якщо я даю вам [00110,01100,11000][00110,01100,11000][00110, 01100, 11000] єдине рішення - {00110,11000}{00110,11000}\{00110, 11000\} . Як варіант, вхід [111,011,110,101][111,011,110,101][111, 011, 110, …

3
Клавіша збільшення та зменшення клавіш у двійковій міні-купі
У багатьох обговореннях бінарної купи зазвичай використовується лише клавіша зменшення, яка підтримується операцією для міні-купи. Наприклад, розділ 6.1 CLR та ця сторінка вікіпедії . Чому клавіша збільшення зазвичай не вказана для min-heap? Я думаю, що можна зробити це в O (висота) шляхом ітеративного заміщення збільшеного елемента (x) мінімумом своїх дітей, …

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

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

3
Найбільша сума, що ділиться на n
Я задав це питання на StackOverflow , але думаю, що тут є більш підходяще місце. Це проблема від Введення в курс алгоритмів : У вас є масив з позитивними цілими числами (масив не потрібно сортувати або елементи унікальні). Запропонуйте алгоритм , щоб знайти найбільшу суму елементів, що ділиться на .aаanнnO(n)О(н)O(n)nнn …

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