Руководство по избежанию ошибок при изучении алгоритмов: от неправильной демонстрации к правильному пути

(0 комментариев)

На долгом пути изучения алгоритмов многие люди продвигаются вперед, но часто сбиваются с пути. Недавно, оглядываясь назад на свой процесс обучения, я глубоко осознал, что у многих моих друзей были серьезные проблемы с изучением алгоритмов и структур данных. Имея многолетний опыт изучения алгоритмов, я надеюсь, что мои идеи помогут всем прояснить туман и осветить путь вперед. Далее я сначала продемонстрирую ошибки, затем объясню правильный метод обучения, кратко обсужу ключевые моменты собеседования и рассмотрю сценарии вопросов.

1. Демонстрация ошибок: внедрение изолированных точек знаний

Метод обучения во многих учебниках по алгоритмам подобен изучению китайского языка с помощью современного китайского словаря. В качестве примера возьмем главу о связанном списке. С самого начала мы непосредственно определяем связанный список, рисуем диаграмму для объяснения, а затем перечисляем общие операции, такие как поиск и вставка узлов. Студенты вроде бы понимают, но на самом деле не могут вспомнить. Они все еще полны сомнений: какая польза от связанных списков? Зачем учиться? Где вы использовали полученные знания? Эти вопросы могут оставаться без ответа, пока вы не прочтете всю книгу. Большинство курсов передают знания таким образом. Чтобы помочь всем более четко понять проблему, я специально проверил два курса по открытым структурам данных от ведущих зарубежных университетов: 6.006 MIT и CS106B Стэнфорда (оба курса можно посмотреть онлайн бесплатно).

2. Правильная демонстрация: корреляция знаний, преподавание историй.

  1. MIT 6.006 : В начале курса структуры данных объясняются как способы хранения данных и алгоритмы, которые работают с данными. Затем мы представляем массивы и связанные списки и подчеркиваем их различия в памяти, сравнивая временную сложность их различных операций. Поскольку массивы и связанные списки хранят данные по-разному, но имеют один и тот же интерфейс (например, поиск, вставка или удаление данных из строки данных), учащиеся могут не только четко понять различия и преимущества между ними, но и получить представление о них. их интуитивное понимание. -Углубленное понимание определения структур данных и концепций интерфейсов. . Все понятия в курсе тесно связаны и дополняют друг друга, а не существуют изолированно. В процессе объяснения преподаватель постоянно повторяет предыдущие статьи, чтобы закрепить и закрепить старые знания.
  2. CS106B Стэнфорда : Этот курс знакомит с концепцией очередей. Сначала объясните, что такое очередь, а затем используйте массивы и связанные списки для реализации очередей. При реализации очереди в массиве было обнаружено, что временная сложность вставки противоположного узла была низкой, поэтому была введена концепция временной сложности, и очередь была повторно реализована с использованием связанного списка, что подчеркнуло преимущества связанного списка. список перечислен с точки зрения временной сложности. Таким образом, учащиеся поймут концепции очередей, связанных списков и массивов, а также различия между ними, а также поймут, что один и тот же интерфейс очереди может быть реализован с помощью разных структур данных. Этот метод обучения, основанный на историях, умело объединяет элементы знаний, чтобы учащиеся могли запомнить их и знать, как их применить.

3. Интервью: покажите свою силу на практике.

Даже если вы правильно учитесь, как упоминалось выше, вам все равно нужны навыки, чтобы успешно сдать экзамены и собеседования. Во время собеседования недостаточно знать, что такое связанный список. Что ценит интервьюер, так это ваша способность использовать связанные списки для решения сложных задач в реальных проектах. Например, в своем резюме я упомянул создание сетевой игры с несколькими пулями. Однако игра лагает из-за слишком большого количества пуль. В это время тысячи маркеров были заранее инициализированы с использованием связанного списка и был создан пул объектов маркеров, что эффективно решило проблему задержки. Во время собеседования в сочетании с реальным соревнованием оно оставит у интервьюера глубокое впечатление. Другой пример — использование связанных списков для реализации распределения памяти операционной системы, использование связанных списков для соединения памяти, а также вырезание и вставка узлов в зависимости от использования. Это приложение более убедительно на собеседовании, чем простое описание концепции связанного списка. Если вы хотите узнать больше о практическом применении структур данных, вы можете обратиться к инструментам искусственного интеллекта.

4. Решение проблем: сосредоточьтесь на мыслительном процессе

При изучении вопросов многие учебники часто дают ответы сразу после того, как вопросы заданы. Однако на самом деле нужно изучать не сами вопросы и ответы, а извилистый мыслительный процесс от вопросов к ответам. Есть книга «Как решать проблемы». Хотя основное внимание уделяется математике, здесь не преподаются конкретные проблемы, а преподаются идеи решения проблем, которые заслуживают внимания каждого. То же самое верно и при опросе вопросов по алгоритмам. Если вы после трех минут молчания напишете свои ответы прямо на доске, вы оставите у интервьюера только общее впечатление, поскольку он не сможет понять ваше мышление и коммуникативные навыки и даже может заподозрить, что вы запомнили вопросы. . Во время интервью полностью общайтесь с интервьюером и покажите свой мыслительный процесс. Даже если вы столкнетесь с вопросом, который не понимаете, возможно, вы сможете получить подсказки благодаря хорошему общению и, наконец, дать ответ на вопрос.

Оглядываясь назад на свою учебную карьеру, я обнаружил, что более половины курсов и учебников использовали зубрежку для привития знаний. Я надеюсь, что, изучив эту статью, вы сможете избежать недопонимания, связанного с обучением алгоритмам, и найти подходящий вам путь обучения. Если эта статья оказалась для вас полезной, не забудьте нажать три раза. Вы также можете поделиться своим опытом обучения и вопросами в области комментариев, чтобы мы могли вместе добиться прогресса на пути изучения алгоритмов.

Ещё не оценен

Комментарии


Пока комментариев нет

Пожалуйста, войдите, прежде чем комментировать: Вход

Последние записи

Архив

2025
2024
2023
2022
2021
2020

Категории

Теги

Авторы

Ленты

RSS / Atom