Java: Структуры данных (Модуль 0. Урок 1. List/Set/Array).
Автор: Kovalevskyi Academy
Загружено: 2016-11-10
Просмотров: 8006
Описание:
В первом модуле будем говорить об абстрактных структурах данных (СД).
Что же такое структура данных (СД)?
СД - способ организации информации в компьютере таким образом, чтобы потом ее эффективно использовать.
Простыми словами - представление логической связи между отдельными элементами определенного типа.
Каждая СД работает с записями. Один объект внутри структуры данных - одна запись. Одна запись может быть n-размерной.
По мерности записей на один объект, СД делят на:
0 - юнит/unit (но таких СД нет);
1 - синглтон/singleton - хранит только объект. Это может быть число, строка, да вообще любой объект;
2 - пара/couple, pair, dual, twin, product - хранит не только сам объект, но и дополнительную, связанную с ним, информацию, которая не является частью этого объекта. Это может быть ключ к объекту или некий другой объект;
3 - трипл/triple...
n - ...
Рассмотрим пример:
Какую СД выбрать?
Задача 1. Составить список всех студентов в группе.
Задача 2. Список всех аудиторий в корпусе университета.
Какого размера будет запись в СД?
Один студент - одна запись в СД, но форма записи может быть многомерной. Для списка аудиторий нам точно triplet не пригодится. Поэтому размер записи для студентов / аудиторий - 1 / 1
СД для хранения или для обработки?
хранение - просматривать, изменять, сохранять запись.
обработка - достать и удалить.
Список студентов нужно как-то обрабатывать, а список аудиторий просто для учета, поэтому: обрабатывать */* хранить.
Разрешаем ли мы хранить дубликаты?
Фамилии, имена могут совпадать, в отличии от номеров аудиторий в одном корпусе, поэтому: да / нет
СД будет фиксированного или изменяемого размера? Для обоих задач — изменяемого.
Выбираем СД:
для учета студентов — list (например, его имплементация ArrayList);
для учета аудиторий — set (например, его имплементация TreeSet)
Почитайте про каждую из этих структур данных из примера. Возможно у вас будут иные обоснованные предложения той или иной СД для этого примера? Обсуждение приветствуется :)
Классификация структур данных
Collections.pdf (https://storage.googleapis.com/hexlet...)
Полезные ссылки:
Структура данных (https://goo.gl/UZzZ1g)
Абстрактный тип данных (https://goo.gl/ICcXJc)
List (https://goo.gl/QseuVG)
Array (https://goo.gl/2mmpN5)
Set (https://goo.gl/2dwBy5)
Наши ссылки:
• Discord-чат академии: https://bit.ly/2K6XQQ2
• VK - https://vk.com/kovacademy
• FB - / kovalevskyi
• Twitter - / kovacademy
• YouTube - / kovalevskyiacademy
• LinkedIn - / 5119016
• Patreon - / b0noi
• Web site - http://kovalevskyi.academy/
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: