Skip to content

Latest commit

 

History

History
17 lines (9 loc) · 3.42 KB

File metadata and controls

17 lines (9 loc) · 3.42 KB

JavaScript

Algorithms and Data Structures in JavaScript

Algorithms

Алгори́тм (лат. al­go­rithmi - от арабского имени математика Аль-Хорезми) - конечная совокупность точно заданных правил решения произвольного класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи.

Data Structures

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.