Этот склад поможет вам систематически осваивать алгоритмы и структуры данных , которые должны знать программисты.
Этот склад в основном имеет два филиала :
основная ветка : последняя новая ветка, которая также является основной веткой для ежедневного обслуживания в будущем, содержит учебные пособия по алгоритмам и структурам данных.
Ветка коллекций : бывшая основная ветка, в которой была организована информация об алгоритмах и структурах данных, теперь используется как вспомогательная ветка: посетите здесь.
Алгоритмическая часть в основном завершена, и остается еще много незавершенных частей структуры данных . Мы ускорим доработку, когда будем свободны.
Оглавление:
- Алгоритм
- Структура данных
- Практические вопросы
Алгоритм
- 1. Анализ сложности
- 2. Высокоточный алгоритм
- 3. Алгоритм сортировки
- 4. Рекурсивный алгоритм
- 5. Рекурсивный алгоритм
- 6. Алгоритм «разделяй и властвуй»
- 7. Жадный алгоритм
- 8. Алгоритм поиска в ширину
- 9. Алгоритм поиска в глубину
- 10. Алгоритм возврата
- 11. Динамическое программирование
- 12. Строковый алгоритм
Структура данных
- 1. Стек
- 2. Очередь
- 3. Дерево
- 4. Куча
- 5. Алгоритм теории графов
- 6. Комбинированный поиск
- 7. Минимальное связующее дерево
- 8. Топологическая сортировка и критический путь
- 9. Дерево отрезков линий
- 10. Древовидный массив
Практические вопросы
После освоения важных алгоритмов и структур данных вам необходимо попрактиковаться и закрепить их.
Выбор сайта?
Рекомендуемый LeetCode , посетите здесь
Какие вопросы мне следует изучить?
Если у вас мало времени : вот главные рекомендации LeetCode :
Например: Leetcode Hot 100 и LeetCode Selected TOP Вопросы для интервью
Если у вас достаточно времени : вы можете систематически практиковать по следующим категориям:
- Тема 1: Массив (
Chapter1_Array
) - Тема 2: Связанный список (
Chapter2_list
) - Тема 3: Строка (
Chapter3_String
) - Тема 4: Стек (
Chapter4_Stack
) - Тема 5: Дерево (
Chapter5_Tree
) - Тема 6: Сортировка (
Chapter6_Sort
) - Тема 7: Поиск (
Chapter7_Search
) - Тема 8: Насильственное решение (
Chapter8_Violence
) - Тема 9: BFS (
Chapter9_BFS
) - Тема 10: DFS (
Chapter10_DFS
) - Тема 11: Разделяй и властвуй (
Chapter11_Paritition
) - Тема 12: Жадность (
Chapter12_Greedy
) - Тема 13: Динамическое программирование (
Chapter13_DP
) - Тема 14: График (
Chapter14_Graph
) - Тема 15: Неспецифический тип (
Chapter15_Unspecific
)
практиковать стратегии
- Первый этап : сначала подумайте . Если у вас нет идей, вы можете посмотреть решения проблем и объединить их с решениями проблем других людей. Подведите итог, есть ли у вас проблемы с мышлением или проблемы с алгоритмом и структурой данных. Освойте тип вопроса, образ мышления и оптимальное решение.
- Второй раз : вспомните оптимальное решение , попробуйте написать его напрямую , сравните с ранее написанными решениями и обобщите задачи и методы.
- Третий раз : улучшите скорость ответа на вопросы и решите несколько задач по одному вопросу . После ответа на вопрос вы сможете узнать суть экзамена и метод решения проблемы, в короткие сроки написать ответ и подумать. из нескольких решений.