Алгори́тм (лат. algorithmi - от арабского имени математика Аль-Хорезми) - конечная совокупность точно заданных правил решения произвольного класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи.
Data Structure (структура данных) - программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.
-
Stack - стек (stack - стопка), абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (last in - first out, "последним пришёл - первым вышел"). В 1946 Алан Тьюринг ввёл понятие стека, а в 1957 году немцы Клаус Самельсон и Фридрих Л.Бауэр запатентовали идею Тьюринга. Зачастую стек реализуется в виде однонаправленного списка (каждый элемент в списке содержит помимо хранимой информации в стеке указатель на следующий элемент стека).
-
Queue - очередь, абстрактный тип данных с дисциплиной доступа к элементам "первый пришёл - первый вышел" (FIFO, first in - first out). Добавление элемента (принято обозначать словом enqueue - поставить в очередь) возможно лишь в конец очереди, выборка - только из начала очереди (что принято называть словом dequeue - убрать из очереди), при этом выбранный элемент из очереди удаляется.
-
Binary Search Tree - двоичное дерево поиска, это двоичное дерево, для которого выполняются следующие дополнительные условия (свойства дерева поиска): 1) оба поддерева, левое и правое - являются двоичными деревьями поиска; 2) у всех узлов левого поддерева произвольного узла X значения ключей данных меньше либо равны, нежели значение ключа данных самого узла X; 3) у всех узлов правого поддерева произвольного узла X значения ключей данных больше либо равны, нежели значение ключа данных самого узла X.