Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
All ATD конспект.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
79.57 Кб
Скачать

24. Методы реализации очередей

Способы:

1. Массив (в виде массива и двух целочисленных переменных start и end.)

2. Связный список (основан на работе с динамической памятью.)

3. Реализация на двух стеках (построена из двух стеков S1 и S2).

25. Абстрактный тип данных «Дек». Методы реализации

Дек - это разновидность очереди, в которой включение и выборка элементов возможны с обоих концов.

Разновидности дека:

      • дек с ограниченным входом

      • и дек с ограниченным выходом.

Дек с ограниченным входом допускает включение элементов только на одном конце.

А дек с ограниченным выходом допускает выборку элементов только с одного конца.

Деки могут иметь как векторную, так и списковую структуру хранения.

Операции над деками такие же, как и над очередями.

При векторном способе хранения программная реализация операций достаточна сложна, она упрощается при представлении очереди в виде двунаправленного списка.

26. Строки: логическая структура, операции и представление в памяти

Строка - это линейно упорядоченная последовательность символов, принадлежащих конечному множеству символов, называемому алфавитом.

Представление в памяти

Некоторые языки программирования накладывают ограничения на максимальную длину строки, но в большинстве языков подобные ограничения отсутствуют.

Основные проблемы в машинном представлении строкового типа:

  • строки могут иметь достаточно существенный размер (до нескольких десятков мегабайтов);

  • изменяющийся со временем размер — возникают трудности с добавлением и удалением символов.

В представлении строк в памяти компьютера существует два принципиально разных подхода.

  • Массив символов.

  • Метод «завершающего байта».

Операции

  • получение символа по номеру позиции

  • конкатенация строк.

Производные операции

  • получение подстроки по индексам начала и конца;

  • проверка вхождения одной строки в другую (поиск подстроки в строке);

  • проверка на совпадение строк (с учётом или без учёта регистра символов);

  • получение длины строки;

  • замена подстроки в строке.

27. Деревья. Их обходы

Дерево - это совокупность элементов, называемых узлами, и отношений ("родительских"), образующих иерархическую структуру узлов.

Узлы как и элементы списков, могут быть элементами любого типа.

Путем из узла n1 в узел nk называется последовательность узлов n1, n2, …, nk, где для всех i, 1 ≤ ik, узел ni является родителем узла ni+1.

Длиной пути называется число, на единицу меньшее числа узлов, составляющих этот путь. Если существует путь из узла а в b, то в этом случае узел а называется предком узла b, а узел b - потомком узла а.

Узел, не имеющий истинных потомков, называется листом.

Высотой узла дерева называется длина самого длинного пути из этого узла до какого-либо листа. Высота дерева совпадает с высотой корня.

Глубина узла определяется как длина пути от корня до этого узла.

Если порядок сыновей игнорируется, то такое дерево называется неупорядоченным, в противном случае дерево называется упорядоченным.

Существует несколько способов обхода (прохождения) всех узлов дерева. Обход узлов дерева равнозначен упорядочиванию по какому-либо правилу этих узлов.

  • Три наиболее часто используемых способа обхода дерева называются

    • обход в прямом порядке,

    • обход в обратном порядке

    • и обход во внутреннем порядке (симметричным обходом).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]