Algorithms and Data Structures

Страница посвящена курсу «Алгоритмы и Структуры Данных» (Прикладная Математика, 2 курс).

В данном курсе базовыми языками программирования будут C++ и Java.

Тест по курсу и предлагаемая форма отчета

Лекционный материал

№ Лекционная тема Материалы
1. Введение. Классификация структур данных Классификация структур данных
2. Абстрактные типы данных
(на примере типа Стек)
Мейер Бертран Абстрактные типы данных
3. АТД Очередь, очередь и стек конечного размера только в конспекте
4. Примеры использования абстрактного стека.
Перевод выражений в обратную польскую запись.
Презентация
5. Введение в Java. Основные концепции. ООП. Лекции Д.Д.Козлова: лекция1+2, лекция3
6. Примеры АТД: DisjointSetUnion, Список
Java Collection Framework: коллекции, линейные структуры
Примеры АТД

Java Collection Framework: линейные структуры

7. Понятие алгоритма. Анализ алгоритмов.
Построение алгоритмов. Принцип «Разделяй и властвуй».
 Презентация
8. Сортировки. Демонстрация. Классификация. Свойства сортировок. Сортировки: Демонстрация

Алгоритмы сортировки: сравнение

9. АТД Множество, Отображение. Интерфейсы Java Set и Map. Презентация
10. Деревья. Двоичные деревья. Двоичные деревья поиска. Сбалансированные деревья поиска Презентация
11. Множества и ассоциативные массивы — реализация в C++ и Java. Обзор Java Collection Framework Ассоциативные контейнеры С++
Презентация Георгия Корнеева «Collections Framework»
Видеолекция Георгий Корнеев Лекция 7 «Collections Framework»

Полезные ссылки:

  1. Алгоритмы, часть I — Принстонский университет | Coursera
  2. Документация по языку C++
  3. Сайт, созданный И.Е.Мазурком, посвященный языку С++
  4. Документация по Java Platform, Standard Edition 7
  5. Сайт, созданный И.Е.Мазурком, посвященный языку Java (вы сейчас на нем находитесь)
  6. Лекции Д. Д. Козлова по Java: 1, 2, 3, 4, 5.
  7. АТД в языках программирования
  8. Маленькие хитрости Java / Хабрахабр