Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AlgStr / Библиотека / Разные источники / Алгоритмы (Вики).doc
Скачиваний:
42
Добавлен:
23.03.2015
Размер:
108.03 Кб
Скачать

Полезные алгоритмы для арМов

Программы преобразования текста

  • Алгоритм "Сумма прописью" (Clipper, Pascal, Basic):RTF|Zip.

Алгоритмы обработки строк

  • .

Вычисление других функций

  • .

Структуры данных

Список структур данных (взято из Википедии):

  • Линейные структуры данных (Linear data structures):

    • Список (List):

      • Массив (Array):

        • Битовые поля (Bitmaps):

          • Изображения (Images)

          • Поля высот (Heightfields)

        • Параллельный массив (Parallel array)

        • Дерево отрезков

        • Дерево Фенвика

      • Связанный список (Linked list):

        • Список с пропусками (Skip list)

        • Развёрнутый связанный список (Unrolled linked list)

        • Xor-связанный список (Xor linked list)

      • V-список (VList)

    • Ассоциативный массив (Associative array a.k.a. dictionary or map) — также известен как словарь или карта

    • Хеш-таблица (Hash table)

    • Стек (Stack a.k.a. LIFO Last in, first out) — также известен как ЛИФО

    • Очередь (Queue a.k.a. FIFO First in, first out) — также известен как ФИФО:

      • Приоритетная очередь (Priority queue) — иногда выполняется в виде кучи, см. ниже

    • Дек (Deque) — двусвязная очередь

    • Буферное окно (Buffer gap)

  • Граф (Graph):

    • Список рёбер (Adjacency list)

    • Представление графа в разорванном виде (Disjoint-set data structure)

    • Представление графа в виде стеков (Graph-structured stack)

    • Сценограф (Scene graph)

    • Деревья:

      • M-Way Tree

        • B-дерево

      • Двоичное дерево поиска (Binary search tree):

        • Самобалансирующееся дерево поиска (Self-balancing binary search tree):

          • АВЛ-дерево (AVL tree)

          • Красно-чёрное дерево (Red-black tree)

          • Дерево со штрафами (Scapegoat tree)

          • Косое дерево (Splay tree)

          • Дерево ван Емде Боаса (van Emde Boas tree)

        • Дерево остатков (Radix tree)

        • Интервальное дерево (Interval tree)

      • Куча(Heap):

        • Двоичная куча (Binary heap)

        • Биномиальная куча (Binomial heap)

        • Фибоначчиевская куча (Fibonacci heap)

        • 2-3-куча (2-3 heap)

        • Мягкая куча (Soft heap)

      • Дерево разбора (Parse tree)

      • Квад-дерево (Quadtree) и Окт-дерево (Octree)

      • Дерево суффиксов (Suffix tree)

      • Бор Префиксное дерево (Trie):

        • Бор (Patricia trie)

  • Другие структуры данных:

    • Помеченное объединение (Tagged union)

    • Объединение (Union)

    • Таблица(Table)

Литература по алгоритмам

"Если вы считаете себя действительно хорошим программистом, прочтите книгу "Искусство программирования" Д.Кнутa... Вам определенно следует прислать мне резюме, если Вы прочли эту книгу до конца" (Билл Гейтс)

Дональд Е. Кнут- автор всемирно известной серии книг, посвященной основным алгоритмам и методам вычислительной математики, создатель настольных издательских системTEXиMETAFONT, предназначенныхдля верстки физико-математических книг. Его перу принадлежит19 книг и более 160 статей. Дональд Кнут является почетным профессоромСтэндфордского университетав области программирования и вычислительной математики. В настоящее время он полностью занят написанием новых книг серии "Искусство программирования". Работу над первым томом он начал еще в 1962 году, сразу после окончанияКалифорнийского технологического института(California Institute of Technology). Профессор Кнут удостоен многочисленных премий и наград, среди которых можно отметитьACM Turing Award, Medal of Scienceпрезидента Картера,AMS Steele Prizeза серию научно-популярных статей. В ноябре 1996 года Дональд Кнут был удостоен престижной наградыKyoto Prizeв области передовых технологий.

  • "Кнут Дональд Э. - Искусство программирования.Том 1.Основные алгоритмы. Том 2.Получисленные алгоритмы. Том 3.Сортировка и поиск. [На Необуке]

  • Искусство программирования - 3 изд.. Том 1. Основные алгоритмы.Кнут Д.. Изд-во Вильямс, 2007. 720 с. Первый том серии книг "Искусство программирования" начинается с описания основных понятий и методов программирования. Затем автор сосредоточивается на рассмотрении информационных структур — представлении информации внутри компьютера, структурных связях между элементами данных и способах эффективной работы с ними. Для методов имитации, символьных вычислений, числовых методов и методов разработки программного обеспечения даны примеры элементарных приложений. По сравнению с предыдущим изданием добавлены десятки простых, но в то же время очень важных алгоритмов. В соответствии с современными направлениями исследований был существенно переработан также раздел математического введения.ЗаказатьнаБиблионе,

  • Э. Йодан.Структурное проектирование и конструирование программ.- М.: Мир, 1977.