- •Оглавление
 - •Введение
 - •Раздел 1. Основные структуры данных
 - •Тема 1. Введение в структуры данных. Динамическое распределение памяти
 - •Классификация структур данных
 - •1.2. Переменные-указатели и динамическое распределение памяти.
 - •Например, указатели на простейшие базовые типы вводятся следующим образом:
 - •Var pStr1,pStr2 :TpString; {переменные-указатели на строки}
 - •1.3. Дополнительные вопросы использования переменных-указателей
 - •1.4. Контрольные вопросы по теме
 - •Тема 2. Структуры данных “стек” и “очередь”
 - •2.1. Что такое стек и очередь?
 - •2.2. Статическая реализация стека
 - •2.3. Динамическая реализация стека
 - •{Ссылочный тип для адресации элементов стека}
 - •2.4. Статическая реализация очереди
 - •2.5. Динамическая реализация очереди
 - •{Ссылочный тип для адресации элементов очереди}
 - •2.6. Практические задания
 - •2.7. Контрольные вопросы по теме
 - •Тема 3. Основы реализации списковых структур
 - •3.1. Структуры данных типа “линейный список”
 - •3.2. Первый способ статической реализации списка.
 - •3.3. Второй способ статической реализации списка.
 - •3.4. Управление памятью при статической реализации списков
 - •3.5. Динамическая реализация линейных списков
 - •3.6. Практические задания
 - •3.7. Контрольные вопросы по теме
 - •Тема 4. Усложненные списковые структуры
 - •4.1. Двунаправленные линейные списки
 - •4.2. Комбинированные структуры данных: массивы и списки указателей
 - •4.3. Комбинированные структуры данных: массивы и списки списков
 - •4.4. Практические задания.
 - •4.5. Контрольные вопросы по теме
 - •Тема 5. Основные понятия о древовидных структурах
 - •5.1. Основные определения
 - •5.2. Двоичные деревья
 - •5.3. Идеально сбалансированные деревья
 - •5.4. Практические здания
 - •5.5. Контрольные вопросы по теме
 - •Тема 6. Реализация поисковых деревьев
 - •Двоичные деревья поиска.
 - •6.2. Добавление вершины в дерево поиска
 - •6.3. Удаление вершины из дерева поиска
 - •6.4. Практические задания
 - •Контрольные вопросы по теме
 - •Тема 7. Дополнительные вопросы обработки деревьев. Графы.
 - •Проблемы использования деревьев поиска
 - •7.2. Двоичные деревья с дополнительными указателями
 - •7.3. Деревья общего вида (не двоичные).
 - •Представление графов
 - •Практические задания
 - •Контрольные вопросы по теме
 - •Раздел 2. Алгоритмы сортировки и поиска
 - •Тема 1. Классификация методов. Простейшие методы сортировки
 - •1.1. Задача оценки и выбора алгоритмов
 - •1.2. Классификация задач сортировки и поиска
 - •1.3. Простейшие методы сортировки: метод обмена
 - •1.4. Простейшие методы сортировки: метод вставок
 - •1.5. Простейшие методы сортировки: метод выбора
 - •1.6. Практическое задание
 - •1.7. Контрольные вопросы по теме
 - •Тема 2. Улучшенные методы сортировки массивов
 - •2.1. Метод Шелла
 - •2.2. Метод быстрой сортировки
 - •2.3. Пирамидальная сортировка
 - •2.4. Практическое задание
 - •2.5. Контрольные вопросы по теме
 - •Тема 3. Специальные методы сортировки
 - •3.1. Простейшая карманная сортировка.
 - •3.2. Карманная сортировка для случая повторяющихся ключей
 - •3.3. Поразрядная сортировка
 - •3.4. Практическое задание
 - •3.5. Контрольные вопросы по теме
 - •Тема 4. Поиск с использованием хеш-функций
 - •4.1. Основные понятия
 - •4.2. Разрешение конфликтов: открытое хеширование
 - •4.3. Разрешение конфликтов: внутреннее хеширование
 - •4.4. Практические задания
 - •4.5. Контрольные вопросы по теме
 - •Тема 5. Внешний поиск и внешняя сортировка
 - •5.1. Особенности обработки больших наборов данных
 - •5.2. Организация внешнего поиска с помощью б-деревьев.
 - •5.4. Поиск элемента в б-дереве.
 - •5.5. Добавление вершины в б-дерево
 - •5.6. Удаление вершины из б-дерева
 - •5.7. Внешняя сортировка
 - •5.8. Практические задания
 - •5.9. Контрольные вопросы по теме
 - •Основные термины и понятия
 - •Литература
 
		 
		
Рекомендовано
к печати научно-
методическим советом ТИСБИ
Автор: А.Н. Козин
Рецензент: профессор В.С. Моисеев
 Козин А.Н., 2003
 Татарский институт содействия бизнесу, 2003
Оглавление
| 
				 Введение  | 
				 
  | 
| 
				 Раздел 1. Основные структуры данных  | 
				 
  | 
| 
				 1. Введение в структуры данных. Динамическое распределение памяти  | 
				 
  | 
| 
				 1.1. Классификация структур данных  | 
				 
  | 
| 
				 1.2. Переменные-указатели и динамическое распределение памяти  | 
				 
  | 
| 
				 1.3. Дополнительные вопросы использования переменных-указателей  | 
				 
  | 
| 
				 1.4. Контрольные вопросы по теме  | 
				 
  | 
| 
				 2. Структуры данных “стек” и “очередь”  | 
				 
  | 
| 
				 2.1. Что такое стек и очередь?  | 
				 
  | 
| 
				 2.2. Статическая реализация стека  | 
				 
  | 
| 
				 2.3. Динамическая реализация стека  | 
				 
  | 
| 
				 2.4. Статическая реализация очереди  | 
				 
  | 
| 
				 2.5. Динамическая реализация очереди  | 
				 
  | 
| 
				 2.6. Практические задания  | 
				 
  | 
| 
				 2.7. Контрольные вопросы по теме  | 
				 
  | 
| 
				 3. Основы реализации списковых структур  | 
				 
  | 
| 
				 3.1. Структуры данных типа “линейный список”  | 
				 
  | 
| 
				 3.2. Первый способ статической реализации списка  | 
				 
  | 
| 
				 3.3. Второй способ статической реализации списка  | 
				 
  | 
| 
				 3.4. Управление памятью при статической реализации списка  | 
				 
  | 
| 
				 3.5. Динамическая реализация линейных списков  | 
				 
  | 
| 
				 3.6. Практические задания  | 
				 
  | 
| 
				 3.7. Контрольные вопросы  | 
				 
  | 
| 
				 4. Усложненные списковые структуры  | 
				 
  | 
| 
				 4.1. Двунаправленные линейны списки  | 
				 
  | 
| 
				 4.2. Комбинированные структуры данных: массивы и списки указателей  | 
				 
  | 
| 
				 4.3. Комбинированные структуры данных: массивы и списки списков  | 
				 
  | 
| 
				 4.4. Практические задания  | 
				 
  | 
| 
				 4.5. Контрольные вопросы  | 
				 
  | 
| 
				 5. Основные понятия о древовидных структурах  | 
				 
  | 
| 
				 5.1. Основные определения  | 
				 
  | 
| 
				 5.2. Двоичные деревья  | 
				 
  | 
| 
				 5.3. Идеально сбалансированные деревья  | 
				 
  | 
| 
				 5.4. Практические задания  | 
				 
  | 
| 
				 5.5. Контрольные вопросы  | 
				 
  | 
| 
				 6. Реализация поисковых деревьев  | 
				 
  | 
| 
				 6.1. Двоичные деревья поиска  | 
				 
  | 
| 
				 6.2. Добавление вершины в дерево поиска  | 
				 
  | 
| 
				 6.3. Удаление вершины из дерева поиска  | 
				 
  | 
| 
				 6.4. Практические задания  | 
				 
  | 
| 
				 6.5. Контрольные вопросы  | 
				 
  | 
| 
				 7. Дополнительные вопросы обработки деревьев. Графы.  | 
				 
  | 
| 
				 7.1. Проблемы использования деревьев поиска  | 
				 
  | 
| 
				 7.2. Двоичные деревья с дополнительными указателями  | 
				 
  | 
| 
				 7.3. Деревья общего вида (не двоичные)  | 
				 
  | 
| 
				 7.4. Представление графов  | 
				 
  | 
| 
				 7.5. Практические задания  | 
				 
  | 
| 
				 7.6. Контрольные вопросы  | 
				 
  | 
| 
				 Раздел 2. Алгоритмы сортировки и поиска  | 
				 
  | 
| 
				 1. Классификация методов. Простейшие методы сортировки  | 
				 
  | 
| 
				 1.1. Задача оценки и выбора алгоритмов  | 
				 
  | 
| 
				 1.2. Классификация задач сортировки и поиска  | 
				 
  | 
| 
				 1.3. Простейшие методы сортировки: метод обмена  | 
				 
  | 
| 
				 1.4. Простейшие методы сортировки: метод вставок  | 
				 
  | 
| 
				 1.5. Простейшие методы сортировки: метод выбора  | 
				 
  | 
| 
				 1.6. Практическое задание  | 
				 
  | 
| 
				 1.7. Контрольные вопросы  | 
				 
  | 
| 
				 2. Улучшенные методы сортировки массивов  | 
				 
  | 
| 
				 2.1. Метод Шелла  | 
				 
  | 
| 
				 2.2. Метод быстрой сортировки  | 
				 
  | 
| 
				 2.3. Пирамидальная сортировка  | 
				 
  | 
| 
				 2.4. Практическое задание  | 
				 
  | 
| 
				 2.5. Контрольные вопросы  | 
				 
  | 
| 
				 3. Специальные методы сортировки  | 
				 
  | 
| 
				 3.1. Простейшая карманная сортировка  | 
				 
  | 
| 
				 3.2. Карманная сортировка для случая повторяющихся ключей  | 
				 
  | 
| 
				 3.3. Поразрядная сортировка  | 
				 
  | 
| 
				 3.4. Практическое задание  | 
				 
  | 
| 
				 3.5. Контрольные вопросы  | 
				 
  | 
| 
				 4. Поиск с использованием хеш-функций  | 
				 
  | 
| 
				 4.1. Основные понятия  | 
				 
  | 
| 
				 4.2. Разрешение конфликтов: открытое хеширование  | 
				 
  | 
| 
				 4.3. Разрешение конфликтов: внутреннее хеширование  | 
				 
  | 
| 
				 4.4. Практические задания  | 
				 
  | 
| 
				 4.5. Контрольные вопросы  | 
				 
  | 
| 
				 5. Внешний поиск и внешняя сортировка  | 
				 
  | 
| 
				 5.1. Особенности обработки больших наборов данных  | 
				 
  | 
| 
				 5.2. Организация внешнего поиска с помощью Б-деревьев  | 
				 
  | 
| 
				 5.3. Б-дерево как структура данных  | 
				 
  | 
| 
				 5.4. Поиск элемента в Б-дереве  | 
				 
  | 
| 
				 5.5. Добавление вершины в Б-дерево  | 
				 
  | 
| 
				 5.6. Удаление вершины из Б-дерева  | 
				 
  | 
| 
				 5.7. Внешняя сортировка  | 
				 
  | 
| 
				 5.8. Практические задания  | 
				 
  | 
| 
				 5.9. Контрольные вопросы  | 
				 
  | 
| 
				 Основные термины и понятия  | 
				 
  | 
| 
				 Литература  | 
				 
  | 
