Вопросы с тегом «algorithms»

Алгоритм - это последовательность четко определенных шагов, которые определяют абстрактное решение проблемы. Используйте этот тег, если ваша проблема связана с разработкой и анализом алгоритмов.

8
Алгоритмическая интуиция для логарифмической сложности
Я считаю, что у меня есть разумное представление о сложностях, таких как , Θ ( n ) и Θ ( n 2 )O(1)O(1)\mathcal{O}(1)Θ(n)Θ(n)\Theta(n)Θ(n2)Θ(n2)\Theta(n^2) . С точки зрения списка, - это постоянный поиск, поэтому он просто получает заголовок списка. Θ ( n ) - это место, где я прошёл бы весь …

8
Что такое самый быстрый алгоритм сортировки для массива целых чисел?
Я сталкивался со многими алгоритмами сортировки во время учебы в старшей школе. Тем не менее, я никогда не знаю, какой самый быстрый (для случайного массива целых чисел). Итак, мои вопросы: Какой самый быстрый в настоящее время известный алгоритм сортировки? Теоретически, возможно, что есть еще более быстрые? Итак, какая наименьшая сложность …

7
Является ли машина Тьюринга «по определению» самой мощной машиной?
Я согласен, что машина Тьюринга может решать «все возможные математические задачи». Но это потому, что это всего лишь машинное представление алгоритма: сначала сделайте это, затем сделайте это, наконец, выведите это. Я имею в виду все, что разрешимо, может быть представлено алгоритмом (потому что это точно определение «разрешимого»). Это просто тавтология. …

4
Что такое хвостовая рекурсия?
Я знаю общую концепцию рекурсии. Я наткнулся на концепцию хвостовой рекурсии при изучении алгоритма быстрой сортировки. В этом видео о алгоритме быстрой сортировки из MIT в 18:30 секунд профессор говорит, что это хвостовой рекурсивный алгоритм. Мне не ясно, что на самом деле означает хвостовая рекурсия. Может ли кто-нибудь объяснить концепцию …

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

3
Почему бинарный поиск быстрее, чем троичный?
Поиск массив элементов с помощью бинарного поиска дублей, в худшем случае журнал 2 N итераций , потому что на каждом шаге мы подрезать половину нашего пространства поиска. Если бы вместо этого мы использовали «троичный поиск», мы бы вырезали две трети пространства поиска на каждой итерации, поэтому в худшем случае должно …

12
Как проверить номер с Бобом, не зная Еву?
Вы должны проверить, что ваш друг, Боб, имеет ваш правильный номер телефона, но вы не можете спросить его напрямую. Вы должны написать вопрос на карточке и передать его Еве, которая передаст карточку Бобу и вернет вам ответ. Что вы должны написать на карточке, помимо вопроса, чтобы Боб мог закодировать сообщение, …

2
Порядок определения роста от Reynolds & Tymann
Я читаю книгу под названием « Принципы информатики» (2008) Карла Рейнольдса и Пола Тиманна (опубликована в «Схемах Шаума»). Во второй главе представлены алгоритмы с примером последовательного поиска, который просто перебирает список имен и возвращает TRUE, если в списке найдено данное имя. Автор продолжает (стр. 17): Мы говорим, что «порядок роста» …

7
Минимальное связующее дерево против кратчайшего пути
В чем разница между алгоритмом минимального связующего дерева и алгоритмом кратчайшего пути? В моем классе структур данных мы рассмотрели два алгоритма минимального связующего дерева (Прима и Крускала) и один алгоритм кратчайшего пути (Дейкстры). Минимальное остовное дерево - это дерево в графе, которое охватывает все вершины, а общий вес дерева минимален. …

2
Найти медиану несортированного массива за время
Чтобы найти медиану несортированного массива, мы можем сделать минимальную кучу за времени для элементов, а затем мы можем извлечь один за другим элементов, чтобы получить медиану. Но этот подход занял бы времени.O(nlogn)O(nlog⁡n)O(n\log n)nnnn/2n/2n/2O(nlogn)O(nlog⁡n)O(n \log n) Можем ли мы сделать то же самое некоторым способом за раз? Если мы можем, то …

3
Самый длинный путь в неориентированном дереве с одним обходом
Существует этот стандартный алгоритм поиска самого длинного пути в ненаправленных деревьях с использованием двух поисков в глубину: Запустите DFS из случайной вершины и найдите самую дальнюю из нее; скажи это .vvvv′v′v' Теперь запустите DFS из чтобы найти самую дальнюю вершину. Этот путь является самым длинным путем в графе.v′v′v' Вопрос в …

6
Работа с труднопреодолимостью: NP-полные проблемы
Предположим, что я программист, и у меня есть NP-полная проблема, которую мне нужно решить. Какие методы доступны для решения проблем с NPC? Есть опрос или что-то похожее на эту тему?

1
В чем разница между алгоритмом, языком и проблемой?
Похоже, что на этом сайте люди часто исправляют других за запутанные «алгоритмы» и «проблемы». В чем разница между этими? Как я узнаю, когда мне следует рассмотреть алгоритмы и рассмотреть проблемы? И как они связаны с понятием языка в теории формального языка?

7
Объясняя актуальность асимптотической сложности алгоритмов для практики проектирования алгоритмов
В алгоритмах и сложности мы фокусируемся на асимптотической сложности алгоритмов, то есть количестве ресурсов, которые алгоритм использует, поскольку размер входных данных уходит в бесконечность. На практике необходим алгоритм, который бы работал быстро на конечном (хотя, возможно, очень большом) количестве экземпляров. Алгоритм, который хорошо работает на практике на конечном количестве интересующих …

3
Выбор подзадач для динамического программирования
Я несколько раз использовал технику динамического программирования, однако сегодня мой друг спросил меня, как мне определить свои подзадачи, и понял, что у меня нет возможности дать объективный формальный ответ. Как вы формально определяете подзадачу для задачи, которую вы бы решили использовать с помощью динамического программирования?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.