Uploaded by Tehron Karimov

План обучения по структурам данных и алгоритмам-Learning Plan for Data Structures and Algorithms

advertisement
План обучения по структурам данных и
алгоритмам-Learning Plan for Data Structures
and Algorithms
1. Введение в структуры данных / Introduction to Data
Structures
Массив / Array
Основы массивов и их базовые операции. / Basics of arrays and their fundamental
operations.
Связный список / Linked List
Виды: однонаправленные, двунаправленные и кольцевые списки. / Types: singly,
doubly, and circular lists.
Стек / Stack
Реализация операций стека и понимание применений. / Implementing stack
operations and understanding their applications.
Очередь / Queue
Основы очередей и кольцевых очередей. / Fundamentals of queues and circular
queues.
Дерево / Tree
Основные понятия деревьев и бинарных деревьев. / Basic concepts of trees and
binary trees.
Куча / Heap
Понимание структуры кучи и алгоритма сортировки кучей. / Understanding heap
structure and heap sort algorithm.
Граф / Graph
Введение в графы, их типы и представление. / Introduction to graphs, their types,
and representation.
Хеш-таблица/Множество / Hash Table/Set
Основы хеширования, хеш-таблиц и хеш-множеств. / Fundamentals of hashing,
hash tables, and hash sets.
2. Основы алгоритмов / Basics of Algorithms
Двойные указатели / Two Pointers
Понимание и применение техники с двумя указателями. / Understanding and
applying the two-pointer technique.
** Скользящее окно/Бегущее окно/Sliding window
https://www.geeksforgeeks.org/window-sliding-technique/
https://www.baeldung.com/cs/sliding-window-algorithm
Алгоритмы поиска / Search Algorithms
Поиск минимального и максимального элемента / Finding Minimum and
Maximum
Линейный поиск / Linear Search
Бинарный поиск / Binary Search
Алгоритмы сортировки / Sorting Algorithms
Сортировка выбором / Selection Sort
Пузырьковая сортировка / Bubble Sort
Сортировка вставками / Insertion Sort
Сортировка слиянием / Merge Sort
Быстрая сортировка / Quick Sort
Сортировка кучей / Heap Sort
Карманная сортировка / Bucket Sort
Поразрядная сортировка / Radix Sort
3. Продвинутые алгоритмические концепции /
Advanced Algorithmic Concepts
1. Основы динамического программирования / Basics of Dynamic Programming
Основы и решение примеров задач. / Basics and solving example problems.
2. Алгоритмы на графах / Graph Algorithms
Минимальное остовное дерево / Minimum Spanning Tree
Минимальное расстояние в графе / Minimum Distance in Graph
3. Продвинутое динамическое программирование / Advanced Dynamic
Programming
Наибольшая общая подпоследовательность (НОП) / Longest Common
Subsequence (LCS)
Задача о рюкзаке 0/1 / 0/1 Knapsack Problem
Максимальная сумма подмассива / Maximum Subarray Sum
Подпоследовательности и подмассивы / Subsequences and Subarrays
Минимальный путь в треугольнике / Minimum Path in Triangle
Решение задач на разрезание / Cutting Problems
Пути в матрице / Paths in a Matrix
4. Структуры данных и алгоритмы на строках / Data Structures and Algorithms on
Strings
Алгоритмы поиска подстроки / Substring Search Algorithms
Наивный алгоритм поиска подстроки / Naive Substring Search
Алгоритм Рабина-Карпа / Rabin-Karp Algorithm
Алгоритм Кнута-Морриса-Пратта (КМП) / Knuth-Morris-Pratt (KMP) Algorithm
Суффиксный массив / Suffix Array
Суффиксное дерево / Suffix Tree
Алгоритм Манакера / Manacher's Algorithm
Z-алгоритм / Z-Algorithm
5. Продвинутые алгоритмы на графах / Advanced Graph Algorithms
Алгоритм Краскала / Kruskal's Algorithm
Алгоритм Прима / Prim's Algorithm
Алгоритм Дейкстры / Dijkstra's Algorithm
Алгоритм Беллмана-Форда / Bellman-Ford Algorithm
Алгоритм Флойда-Уоршалла / Floyd-Warshall Algorithm
Алгоритм Тарьяна / Tarjan's Algorithm
Алгоритмы поиска мостов и точек сочленения / Bridge and Articulation Point
Algorithms
Алгоритмы поиска циклов / Cycle Detection Algorithms
6. Теория и практика хеширования / Theory and Practice of Hashing
Хеш-алгоритм / Hash Algorithm
Продвинутые техники хеширования / Advanced Hashing Techniques
Хеш-таблица с открытой адресацией / Open Addressing Hash Table
Совершенное хеширование и универсальное хеширование / Perfect and
Universal Hashing
7. Комбинаторика и теория чисел / Combinatorics and Number Theory
Умножение матричных цепочек (МЦУ) / Matrix Chain Multiplication (MCM)
Алгоритмы работы с дискретным логарифмом / Discrete Logarithm Algorithms
8. Рекурсия и перебор / Recursion and Enumeration
Рекурсия / Recursion
Задача N-королев / N-Queens Problem
Разделение и завоевание / Divide and Conquer
Алгоритмы работы с разреженными таблицами / Sparse Table Algorithms
9. Кодирование и сжатие данных / Coding and Data Compression
Алгоритм кодирования Хаффмана / Huffman Coding
4. Техники поиска и оптимизации / Search and
Optimization Techniques
Поиск в ширину - BFS / Breadth-First Search - BFS
Поиск в глубину - DFS / Depth-First Search - DFS
Метод обратного трассирования (Backtracking) / Backtracking Method
Жадные алгоритмы / Greedy Algorithms
5. Практическое применение и решение задач /
Practical Application and Problem Solving
Работа над реальными задачами и проектами. / Working on real tasks and projects.
Участие в соревнованиях по программированию. / Participating in programming
competitions.
6. Повторение и продвинутое изучение / Review and
Advanced Study
Пересмотр сложных тем. / Reviewing complex topics.
Изучение научных статей и продвинутых материалов. / Studying scientific articles and
advanced materials.
7. Непрерывное обучение и практика / Continuous
Learning and Practice
Регулярное решение задач на платформах вроде LeetCode, Codeforces и других. /
Regularly solving problems on platforms like LeetCode, Codeforces, and others.
Постоянное обновление знаний о последних разработках в области алгоритмов и
структур данных. / Continuously updating knowledge about the latest developments in the
field of algorithms and data structures.
Download