Подтвердить что ты не робот

Есть ли обзор наиболее распространенных алгоритмов?

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

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

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

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

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

4b9b3361

Ответ 4

Я настоятельно рекомендовал бы книгу "Руководство по разработке алгоритмов" Стивена Скиена. Он имеет структуру каталогов, о которой вы упоминаете.

Ответ 5

Существует серия книг "Искусство компьютерного программирования", которая достаточно всеобъемлющая, если вы хотите что-то в бумаге.

запись в википедии

Ответ 7

В Принстоне есть несколько замечательных публичных лекций Р. Седжуика (парень, который сделал левые наклонные красные черные деревья и книги Алгоритмы в C)

http://www.cs.princeton.edu/courses/archive/spring11/cos226/lectures.php

Ответ 9

CLRS.

То есть, учебник "Введение в алгоритмы" Кормена, Лейзера, Ривеста и Штаина.

Это даст вам хороший обзор наиболее значимых алгоритмов для большинства общих целей, а также надежный анализ.

Простой сайт/список был бы плохим, если бы он вдохновил слишком поспешный выбор "вырезать и вставить" без твердого понимания.

Ответ 12

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

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

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

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

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

Уменьшение шума, аналоговый и цифровой

CS или IT:

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

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

Машиноведение

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

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

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

Статистика Алгос и стохастическое исчисление

Combinatrics

и т.д....

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

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

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

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

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

4) Рекурсия против взаимодействия (сложность рекурсии должна быть изучена, мастер-теорема)

5) Деревья (двоичный, N-арный, Kd-дерево, B-дерево)

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

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

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

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

10) Обзор общих альфа шифрования, таких как RSA, AES и т.д.

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

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

Ответ 13

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

Ответ 14

Мой выбор defacto - Stackoverflow.com:)

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