dirina9 / selfstudy

0 stars 0 forks source link

Algorithms and Data Structures #7

Open dirina9 opened 6 years ago

dirina9 commented 6 years ago

LinkedList — реализует интерфейс List. Является представителем двунаправленного списка, где каждый элемент структуры содержит указатели на предыдущий и следующий элементы. Итератор поддерживает обход в обе стороны. Реализует методы получения, удаления и вставки в начало, середину и конец списка. Позволяет добавлять любые элементы в том числе и null.

dirina9 commented 6 years ago

Стек — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»).

dirina9 commented 6 years ago

Queue (О́чередь) — абстрактный тип данных с дисциплиной доступа к элементам «первый пришёл — первый вышел» (FIFO, англ. first in, first out). Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.

dirina9 commented 6 years ago

Binary tree (Двоичное дерево) — это двоичное дерево, для которого выполняются следующие дополнительные условия (свойства дерева поиска):

Для целей реализации двоичное дерево поиска можно определить так:

200px-binary_search_tree svg

dirina9 commented 6 years ago

Хеш-таблица (hash table) — это специальная структура данных для хранения пар ключей и их значений. По сути это ассоциативный массив, в котором ключ представлен в виде хеш-функции. Hash table Главное свойство hash-таблиц — все три операции вставка, поиск и удаление в среднем выполняются за время O(1), среднее время поиска по ней также равно O(1) и O(n) в худшем случае.