алгоритмический базовый
Чтобы каждый мог лучше читать высококачественные технические статьи, такие как алгоритмы и основы работы с компьютером (включая компьютерные сети, операционные системы, MySQL и т. д.), я организовал эти статьи в формате PDF с оглавлением высокой четкости. Однако, для удобства исправления ошибок в дальнейшем и добавления нового контента, у нас есть этот Github.
Поэтому на этом Github будут публиковаться статьи о структурах данных, алгоритмах, основах работы с компьютером, моем опыте обучения и т. д. Независимо от того, имеете ли вы дело с собеседованиями, особенно при наборе в школу, или хотите улучшить свои внутренние навыки , я думаю, что эти мои статьи будут полезны. быть вам полезными. Эти статьи в основном обновляются здесь после получения постоянных похвал от основных блог-платформ.
Кроме того, если после прочтения статьи это будет полезно, Шуайди хотел бы попросить вас оказать мне услугу и дать мне звезду, чтобы удовлетворить мое тщеславие. Если звезд будет больше, возможно, у меня будет возможность сделать снимок экрана и сделать его. отправьте это в «Моменты», притворившись, что притворяетесь Б, хи-хи.
Наконец, если вы хотите прочитать версию электронной книги в формате PDF или epub, вы можете зайти в мою общедоступную учетную запись WeChat Shuai Di Wan Programming и ответить на внутреннюю силовую тренировку программиста , и вы можете получить версию PDF/epub книги. Электронная книга, составленная из всех статей с оглавлением высокой четкости, вы можете просто сканировать и следить за ними.
Оглавление
- алгоритм обучения
- Обмен опытом обучения алгоритмам
- Изучите рекурсию
- Изучите динамическое программирование
- Изучите бинарный поиск
- Воспроизведите сцену собеседования по алгоритму подбора персонала в кампусе.
- Изучите алгоритмы сопоставления строк
- Необходимо освоить алгоритмическое мышление и навыки
- Необходимо изучить алгоритм сортировки
- Получить двоичное дерево
- Получить связанный список
- Изучите структуры данных
- Изучите компьютерную сеть
- Краткое описание опыта, написанное для нынешних студентов
- Личный опыт и размышления
- Изучите операционную систему
- MySQL
- Ява
- Гит
- Рекомендации по качественным книгам, которые я прочитал
- Следовать за
- Ценить
алгоритм обучения
Обмен опытом обучения алгоритмам
- Какие алгоритмы должны освоить программисты?
- Как новичку, как мне изучать алгоритмы?
- Безопасно ли после ответа на 500 вопросов по лит-коду пройти письменный тест/собеседование?
Изучите рекурсию
- Почему вы не можете изучить рекурсию? Попрощайтесь с рекурсией и расскажите о своем опыте.
- Тренинг 1. Найдите верхнюю медиану в двух отсортированных массивах одинаковой длины.
- Тренинг 2. Найдите K-ю десятичную дробь двух упорядоченных массивов.
- Тренинг 3: Найдите медиану двух упорядоченных массивов (о важности трансформации мышления)
Изучите динамическое программирование
- Сложно ли динамическое программирование? Ответив на 40 вопросов в DP, я суммировал эти процедуры!
- Оптимизация динамического программирования
- Тренинг 1: Подробное объяснение трех задач алгоритма одномерного динамического программирования.
- Тренинг 2: Подробное объяснение вопроса leetcode221: Максимальная площадь
Изучите бинарный поиск
- Вы уверены, что можете выполнять двоичный поиск? Можно ли использовать его для мошенничества в жизни?
- Два, казалось бы, простых вопроса об алгоритме
- Краткое изложение вопросов дихотомии
Воспроизведите сцену собеседования по алгоритму подбора персонала в кампусе.
- Помните вопрос на собеседовании по алгоритму ByteDance: обращение деформированного связанного списка
- Помните интервью с алгоритмом, измельченным вручную: интервьюер ByteDance ударил меня четыре раза подряд.
- Письменный контрольный вопрос Alibaba: как я решил проблему с кольцом Джозефа с помощью одной строки кода
- Помните интервью с Alibaba: Интервью было посвящено разработке алгоритма кэширования LRU.
- Применение префиксов и сумм начинается с письменного тестового вопроса NetEase.
- Злоупотребления на собеседовании: вспомните вопрос на собеседовании по алгоритму покупателя: оптимальное решение минимального стека
- Оскорбление интервью: Как реализована фильтрация деликатных слов в игре?
- Найдите наиболее частое число из 2 миллиардов, 4 миллиардов, 8 миллиардов целых чисел, используя всего 2 ГБ памяти.
Изучите алгоритмы сопоставления строк
- Графический алгоритм сопоставления строк KMP
- Алгоритм сопоставления строк Бойера-Мура: как функция поиска реализована в текстовых редакторах?
Необходимо освоить алгоритмическое мышление и навыки
- Стремление к совершенству: как я превратил простые алгоритмические вопросы в сложные
- Поделитесь алгоритмической проблемой с умным решением
- Факториал - это просто? Честно говоря, вы не обязательно понимаете эти вопросы на собеседовании, связанные с факториалом!
- Интервьюер, пожалуйста, не задавайте мне такие простые, но сложные вопросы по алгоритмам.
- Потрясающий! Одна строка кода может решить очень много алгоритмических задач, которые беспокоили меня долгое время.
- Шуайди обобщил для вас этот метод решения проблем с помощью высокочастотного алгоритма, который поможет вам решать проблемы быстрее!
- В чем заключаются хитрости алгоритмических структур данных?
- Руководство, как притвориться сообразительным
- Найдите недостающие целые числа
Необходимо изучить алгоритм сортировки
- Комикс: Пожалуйста, больше не спрашивайте меня о быстрой сортировке
- Комикс: Почему поразрядная сортировка сложности O(n) не такая быстрая, как быстрая сортировка?
- Комикс: Внешняя сортировка: Как отсортировать 2 миллиарда целых чисел, используя 2 ГБ памяти? (На самом деле это тоже распространенный вопрос на собеседовании)
- Хватит прокручивать, программисты должны изучить десятку лучших классических алгоритмов сортировки, просто прочитайте эту статью
Получить двоичное дерево
- Предварительный обход бинарных деревьев (нерекурсивная версия)
- Непорядковый обход двоичного дерева (нерекурсивная версия)
- Постпорядковый обход бинарных деревьев (нерекурсивная версия)
- Распечатать двоичное дерево сверху вниз
- Построение бинарного дерева
- Зеркало двоичного дерева
- подструктура двоичного дерева
- Последовательность обхода по порядку двоичного дерева поиска
- Перестроить двоичное дерево
Получить связанный список
- Обучение связанному списку 1. Удаление K-го узла односвязного списка.
- Обучение связанному списку 2. Удаление промежуточного узла односвязного списка.
- Обучение связному списку 3: Как изящно перевернуть односвязный список
- Тренинг по связному списку 4: Проблема Джозефа с круговым односвязным списком
- Обучение связным спискам 5. Три метода помогут вам элегантно оценивать палиндромные связанные списки.
- Обучение связному списку 6. Разделите односторонний связанный список в соответствии с определенным значением на маленькие слева, равные посередине и большие справа.
- Обучение связному списку 7: копирование связанного списка, содержащего случайные узлы указателя.
- Обучение связному списку 8. Измените порядок между каждыми K узлами односвязного списка.
- Обучение связному списку 9. Преобразование двоичного дерева поиска в двусвязный список.
Изучите структуры данных
- Что, черт возьми, такое двоичная куча?
- Что, черт возьми, такое сортировка кучей?
- Комикс: Что такое авл-дерево?
- Вопрос на интервью с Tencent: Зачем сбалансированным деревьям при использовании бинарных деревьев поиска красно-черные деревья?
- Высокочастотное интервью: что такое B-дерево? Почему в индексах файлов используются B-деревья вместо двоичных деревьев поиска?
- В будущем, если интервьюер спросит вас о столе для прыжков, просто киньте ему эту статью.
Изучите компьютерную сеть
- Узнайте, как один компьютер отправляет данные на другой компьютер, в одной статье.
- Случайный разговор: Что такое https. Это должна быть лучшая статья о https во всем Интернете.
- Иллюстрация: Как хост, который был совершенно незнакомым человеком, добился корректной доставки данных в течение двух дней?
- Что такое цифровая подпись
- Что такое контроль перегрузок?
- Что такое управление потоком TCP
- Каков алгоритм широковещательной маршрутизации? Как разрешить широковещательный шторм?
- Что интервьюер хочет проверить нас в отношении трехстороннего рукопожатия и четырехстороннего махания рукой?
- Откуда взялся IP компьютера? я еще не настроил
- Разница между коммутацией каналов и коммутацией пакетов
Краткое описание опыта, написанное для нынешних студентов
- Я изучаю программирование четыре года и рекомендую вам эти высококачественные инструменты обучения, веб-сайты и материалы.
- После долгих раздумий этот маршрут обучения подходит для широкой публики.
- Базовый сборник: те базовые знания компьютера, которые заставят вас взлететь: чему учить и как учить?
- Что ж, я провалил два собеседования в Tencent во время весеннего набора персонала. Позвольте мне поделиться своим неудачным и глупым опытом собеседований.
- После двух месяцев осеннего набора персонала все закончилось. Давайте поговорим о некоторых важных моментах весеннего и осеннего набора персонала.
- Необходимо рассказать о предстоящем весеннем наборе (опыт+важность+как подготовиться)
- Расскажите мне о проектах, над которыми вы работали в период весеннего и осеннего набора персонала, и порекомендуйте несколько проектов + видеоинтервью.
Личный опыт и размышления
- Осенний набор закончился, три года моего обучения в колледже были обычными.
- Что я узнал и приобрел за последние 15 месяцев написания публичного отчета?
- Мой 2019 год
- За более чем год, прошедший с тех пор, как я начал писать статьи на публичных аккаунтах, меня троллили, блокировали и хвалили.
- Первая оригинальная статья в 2020 году: Как я делаю себя лучше
- Позвольте мне рассказать о моей недавней повседневной жизни, учебе и размышлениях.
Изучите операционную систему
Эта часть статьи немного скудна и будет постепенно добавляться позже, так что следите за обновлениями.
- Помните интервью: Каковы методы связи между процессами? Как общаться?
MySQL
- Интервью Tencent: Каковы причины медленного выполнения оператора SQL?
- Советы по собеседованию: связанные с индексом MySQL
- Позвольте мне сказать, эти две маленькие хитрости не только позволили моим операторам SQL избежать ошибок, но и улучшили их в 1000 раз.
Ява
- Потокобезопасность (Часть 1). Тщательно разберитесь в ключевом слове Летучий.
- Потокобезопасность (Часть 2). Тщательно разберитесь в синхронизированности (от смещенных блокировок до тяжелых блокировок).
- В одном предложении вы можете изучить различные замки, такие как тяжелые замки, спиновые замки, легкие замки, смещенные замки, пессимистические замки и оптимистические замки.
- Ядро параллелизма: что такое CAS? Как Java8 оптимизирует CAS?
- Вы смеете не изучать самые важные классы синхронизации в пакете Java concurrency?
- Пожалуйста, стандартизируйте свой стиль кодирования
Гит
- Недавно я изучил Git с нуля и кратко изложил это руководство по командам Git.
Рекомендации по качественным книгам, которые я прочитал
- Рекомендуемые высококачественные книги, которые я прочитал за четыре года обучения в колледже
- Какие книги стоит прочитать об алгоритмах и основах компьютера?
Следовать за
Я надеюсь, что эта электронная книга будет вам полезна. Если все ответят хорошо, я продолжу добавлять контент позже. В настоящее время это предварительная версия, и в ней может быть много недостатков, таких как опечатки и неправильное написание определенных пунктов знаний. Если у вас есть какие-либо вопросы, вы можете найти меня через мою официальную учетную запись. Вы можете оставить сообщение в моей официальной учетной записи или напрямую добавить мой личный WeChat.
Ценить
Организовать электронные книги непросто. Если вы считаете это полезным и хотите вознаградить автора, вы можете вознаградить меня с помощью этого платежного кода. Сумма не важна, но самое главное — ваше намерение. Я могу использовать этот статус награды. Надеюсь, все прокомментируют эту электронную книгу, хе-хе.
Примечание. Вы можете указать свой никнейм при совершении платежа. Это может быть CSDN, WeChat, GitHub и т. д.