Есть ли обзор наиболее распространенных алгоритмов? - PullRequest
29 голосов
/ 20 января 2009

Я ищу обзор алгоритмов, которые вам нужны время от времени. Если есть проблема, вы либо заново изобретаете колесо, либо тратите много времени на поиск алгоритма для общеизвестной проблемы, которая была решена сто раз раньше.

Лучшим будет сайт с отсортированными алгоритмами, например:

  • Сжатие
    • ...
  • дешифрование
    • ...
  • Шифрование
    • Symetric
      • ...
    • ассиметричным
      • ...
  • Поиск
    • ...
  • Сортировка
    • Пузырьковая сортировка
    • Quicksort
    • ...

Я думаю, вы понимаете, о чем я.

Какие страницы вы знаете?

Ответы [ 14 ]

0 голосов
/ 15 мая 2014

Мой выбор по умолчанию - Stackoverflow.com:)

Просто поиск по ключевому слову " алгоритм "; вы получите кучу проблем.

0 голосов
/ 29 декабря 2012

Наиболее распространенные алгоритмы включены в Boost . Здесь вы можете найти наиболее распространенные алгоритмы сортировки, поиска или иным образом. Использование алгоритмов тесно связано с использованием определенного языка программирования. В дополнение к вышеупомянутым книгам, существует несколько хороших URL, таких как Видеоинструкции по компьютерным наукам .

0 голосов
/ 24 августа 2012

На вопрос "Есть ли обзор наиболее распространенных алгоритмов?" Это как спросить, есть ли обзор общей математики или науки?

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

Компьютерная инженерия или электрика:

алгоритмы обработки изображений

обработка сигналов в общем алгоритмах

Шумоподавление, аналого-цифровое

CS или IT:

Управление данными

безопасность (шифрование, обнаружение вторжений)

Машинное обучение

Финансы, исследование операций, эконометрика:

Линейное программирование

Динамическое программирование

Статистические алгоритмы и стохастическое исчисление

Combinatrics

и т.д ....

Просто назвать несколько и поцарапать поверхность

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

Вот наименьшее из распространенных алгоритмов CS, с которыми я сталкивался в академических кругах и профессионально 1) Сортировка (пузырьковая, вставка, слияние, быстрая)

2) Поиск (dfs, bfs)

3) Структуры данных и алгоритмы, которые пересекают структуры данных

4) Рекурсия против Интеграции (необходимо изучить сложность рекурсии, основная теорема)

5) Деревья (бинарные, N-арные, K-дерево, B-дерево)

6) Графики (обход через dfs, bfs)

7) Хеширование

8) Общие математические алгоритмы (GCD, Экспонирование, различные умножения матриц)

9) Деревья выражений (Строительство и обход)

10) Обзор распространенных алгоритмов шифрования, таких как RSA, AES и т. Д. *

Если вы изучаете то, что я упомянул выше и знаете временные сложности (обозначение O), это в значительной степени охватывает все, что вам нужно знать для алгоритмов CS.

Рекомендую "Введение в алгоритмы" от Cormen, etal. MIT Press

0 голосов
/ 21 января 2009

В дополнение к Руководству по разработке алгоритма у меня был очень положительный опыт работы с этой книгой:

Алгоритмы в двух словах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...