lect5_OOP.ppt
- Количество слайдов: 29
Объектно-ориентированный анализ и программирование Лектор: доцент каф. ММБП Бунцев И. А.
Стек – объект, работа с которым осуществляется по принципу LIFO.
Реализация при помощи массива
Java-стек методов Java-программа имеет собственный стек – Java-стек (используется для наблюдения за локальными переменными и информацией, необходимой для выполнения методов) Во время выполнения программы элементами стека являются дескрипторы текущих методов (фреймы) – содержат текущие значения локальных переменных и параметры вызова метода, информацию о методе и возвращаемом значении. Используется счетчик фиксации адресов команд.
Рекурсия - метод может вызывать сам себя в виде подпрограммы. Очередь – структура данных, последовательность объектов, доступ и удаление разрешены только для первого элемента очереди (FIFO).
Реализация очереди на основе массива (нужен способ наблюдения за началом и концом очереди) Недостаток – установка размера массива
Связные списки Связный список – форма совокупности узлов упорядоченных в линейную последовательность. Каждый узел является составным объектом, содержащим ссылку на элемент, а также на следующий узел. Однонаправленный связный список: У списка нет заранее установленной длины, используемое пространство пропорционально числу его элементов.
Двусвязный список: Узел двусвязного списка:
Абстрактный тип данных дек:
“Дек” на основе двусвязного списка:
Вектор – линейная последовательность элементов в котором доступ к элементам осуществляется по разряду.
Реализация с помощью массива:
Очередь с приоритетами – абстрактный тип данных для хранения совокупности элементов имеющих приоритетную оценку. Ключ – объект хранящий параметры и свойства, может быть использован для идентификации, ранжирования или взвешивания объекта. Сортировка
Сортировка пузырьковым методом:
Сортировка слиянием
Быстрая сортировка
Сегментная сортировка (применяются ключи в качестве индексов)
Итератор – абстрактное представление процесса просмотра коллекции элементов по порядку. Дерево – абстрактный тип данных для иерархического хранения элементов, набор узлов хранящих элементы состоящие в отношениях «отцы и дети» Свойства:
Бинарное дерево – упорядоченное дерево в котором каждый из узлов имеет максимум два дочерних элемента. v – узел дерева Т
Прямой обход дерева – «посещение всех узлов дерева» Слева-направо:
Обратный проход Прямой проход бинарного дерева Обратный проход бинарного дерева
Симметричный проход бинарного дерева
«Проход по Эйлеру» - унификация алгоритма в виде единого обощеного подхода ( «прогулка» вокруг Т, начинающаяся из корня в сторону левого дочернего элемента, границы Т – «стены» , остающиеся всегда слева)
Словарь – контейнер пар «ключ-элемент» Java. util. map
lect5_OOP.ppt