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 / Хабрахабр