Для зручності учнів JavaRush ми вирішабо зібрати лекції та статті про найважливіші теми у програмуванні. Друга добірка - структури даних. У міні-гайді ми коротко викладаємо суть статей, а якщо перейти за посиланням — можна докладніше ознайомитися з темою, що цікавить. Додайте добірку в закладки та повертайтеся до неї, коли потрібно.
Матеріали про структури даних
Статті та лекції
У програмуванні існує безліч різноманітних структур даних. Найчастіше при вирішенні конкретного завдання найголовніше — вибір найбільш підходящої для цього структури даних. У цій лекції йдеться про такі структури даних, як стек і черга. Наприкінці лекції автор також наводить посилання на корисні ресурси про структури даних.
У лекції йдеться про таку структуру даних як піраміда (ще відома як купа та двійкова купа). Зазвичай, такі структури даних застосовують у різних планувальниках та інших структурах, у яких необхідно позначити пріоритетність різних завдань. Крім теорії, у статті наведено реалізацію піраміди на Java.
Серед баз структур даних обов'язково варто розібратися з деревами двійкового пошуку. У лекції розглядають саму структуру з її особливостями та перевагами та показують, як можна реалізувати двійкове дерево в Java.
Map - це структура даних, яка містить набір пар "ключ-значення". За структурою даних нагадує словник, тому її часто так і називають. У той же час, Map є інтерфейсом, і в стандартному JDK містить основні реалізації:
Hashmap ,
LinkedHashMap ,
Hashtable ,
TreeMap . У статті відповідають на найпопулярніші питання про
Map .
Це докладна "енциклопедія" розповість про все, що потрібно знати про масиви зі старту: що це таке, як оголошувати, створювати масив, що таке довжина масиву, а також про те, як ініціалізувати масив та вивести його на екран.
З цієї лекції ви дізнаєтеся про відмінності
Map від інших структур даних і на живому прикладі розгляньте, як створити
HashMap Java і працювати з класом.
Лекція для тих, хто вже знайомий з інтерфейсом
Map та варіантами його застосування. У ній розповідається про особливості реалізації
TreeMap , а конкретніше - чим вона відрізняється від
HashMap і як правильно її використовувати.
Під час розробки часто буває складно передбачити, якого розміру знадобляться масиви. Тому функція динамічного виділення пам'яті під час роботи програми потрібна кожному ЯП. У Java для такої мети існує клас
ArrayList : про нього і йтиметься.
У
LinkedList елементи фактично є ланками одного ланцюга. У кожного елемента, крім тих даних, які він зберігає, є посилання на попередній і наступний елемент.
Відеоролики
Префіксне дерево - це структура даних, що дозволяє зберігати асоціативний масив, ключами якого є рядки. У відеоролику Сергія Архіпова ви дізнаєтеся, як у Java-розробці застосовуються префіксні дерева, як зберегти дерево у файл, як його завантажити назад та багато іншої корисної інформації.
Вивчення структури даних у Java неможливо уявити без класів
HashMap ,
TreeMap та
LinkedHashMap . У цьому відео Java- та Kotlin-розробник Ілля Ніксан провів детальний аналіз відмінностей між цими класами, їх властивостей та варіантів застосування.
Структури даних у “питаннях та відповідях на співбесідах”
Одна з основних тем будь-якої співбесіди — структури даних Java. У цій статті зібрано список питань, які можуть вам поставити на цю тему на співбесіді, в тому числі про масиви, ієрархії колекцій.
Продовжуючи попередній текст про питання, які можуть запитати по темі структур даних, автор розбирає теми
Map ,
List ,
HashMap та інші.
Бонус
Рецензія на книгу: «Структури даних та алгоритми Java», Роберт Лафоре
Книга присвячена вивченню та використанню структур даних та алгоритмів у програмуванні. Вона розповідає, як структури даних визначають спосіб організації даних у пам'яті, і навіть як алгоритми забезпечують виконання різних операцій із цими структурами.