Сегодня начал первую неделю курса принстона по алгоритмам. Единственный пока минус курса - язык программирования. К сожалению, курс привязан только к Java. Выполнить ассайменты на своем любимом языке не получится. Я не писал на джаве почти 2 года, но в целом полезно прослезится и тряхнуть старяной, особенно после JS и TS 🙂
План на неделю:
1. Изучить теорию по Union Find
2. Заимлементить DS c описанными подходами на Java
3. Просмотреть видосы по данной теме от гугл инжинера
4. Выполнить финальный ассаймент
5. Выжить и дальше вставать в 6 утра
Полезные ссылки стараюсь добавлять в цель на smartprogress.
Stay Tuned 🙏
План на неделю:
1. Изучить теорию по Union Find
2. Заимлементить DS c описанными подходами на Java
3. Просмотреть видосы по данной теме от гугл инжинера
4. Выполнить финальный ассаймент
5. Выжить и дальше вставать в 6 утра
Полезные ссылки стараюсь добавлять в цель на smartprogress.
Stay Tuned 🙏
❤2
2 день подготовки - 6.30 am 🙊
7.00 am - 10.00 am - Закончил еще одну секцию курсеры по Union-Find. Немного пришлось подумать про Weightening и Path Compression. В голове не сразу улегся подход.
Понял, чтобы лучше осваивать топики 🙄:
1) Имлементим каждый подход самостоятельно, не смотрим на решение, пока совсем не застряли до полного отчаяния 👨💻
2) Полезно просматривать уже прочитанный материал. Легче дается изученное. Даже если что-то сразу не получается, на следующий день идет на много проще.
3) Делать заметки - полезно. Особенно, когда их смотришь на следующий день
Завтра:
1) Повторю весь материал
2) Посмотрю видосики от гугл инжинера по Union-FInd
3) Попробую начать недельный ассаймент на курсере
Stay Tuned 🙏
7.00 am - 10.00 am - Закончил еще одну секцию курсеры по Union-Find. Немного пришлось подумать про Weightening и Path Compression. В голове не сразу улегся подход.
Понял, чтобы лучше осваивать топики 🙄:
1) Имлементим каждый подход самостоятельно, не смотрим на решение, пока совсем не застряли до полного отчаяния 👨💻
2) Полезно просматривать уже прочитанный материал. Легче дается изученное. Даже если что-то сразу не получается, на следующий день идет на много проще.
3) Делать заметки - полезно. Особенно, когда их смотришь на следующий день
Завтра:
1) Повторю весь материал
2) Посмотрю видосики от гугл инжинера по Union-FInd
3) Попробую начать недельный ассаймент на курсере
Stay Tuned 🙏
День 4 - Первый ассаймент 👨💻
Начал привыкать вставать в 6.30. Хотя еще тяжело 🙄. Сегодня добрался до ассаймента первой недели на курсере. За 2 часа получилось сделать первую версию, которая конечно же не прошла все грейдер чеки 🤔.
Следующий шаг:
1) Таки исправить задание, чтобы пройти минимум 95% проверок
2) Повторить материал и чекнуть видео гугл инжинера на тему Union-Find
Начал привыкать вставать в 6.30. Хотя еще тяжело 🙄. Сегодня добрался до ассаймента первой недели на курсере. За 2 часа получилось сделать первую версию, которая конечно же не прошла все грейдер чеки 🤔.
Следующий шаг:
1) Таки исправить задание, чтобы пройти минимум 95% проверок
2) Повторить материал и чекнуть видео гугл инжинера на тему Union-Find
День 5 - Конец первого ассаймента 🤔
Закончил править тесты для первого ассаймента на курсере. Поэтому позволю себе немного рефлексии на тему топика. Чтобы успешно выполнить задание первой недели - Percolation Problem, надо:
1) Максимально разобраться в такой структуре как Union Find. Разобрать каждый подход и обязательно заимплементить (кэп 🙂). Особенно взвешивание (weightening) и компрессию путей (Path Compression)👨💻
Поможет:
-> Видяшки от гугл инжинера. Отлично дополняют теорию первой недели. Плюс визуально приятно воспринимаются
https://www.youtube.com/watch?v=ibjEGG7ylHk&list=PLDV1Zeh2NRsBI1C-mR6ZhHTyfoEJWlxvq
2) Пробежать конспект, который записали по первой неделе
3) Заиимплементить первую версию API. Затем глянуть тесты, игнорируя кейсы с backwash problem. Пофиксить все и далее начинать разбираться с backwash. (о ней ниже) 👇
4) Есть проблема , с которой обязательно столкнетесь решаю задачу по Percolation. Называется “backwash”. Суть в том, что когда система перколирует - (нижняя граница связывается с верхней), элементы, даже закрытые и не соединные с открытыми компнентами, становятся заполненными (full site), из-за того, что присоединены к нижней вирутальной границе. Картиночка ниже.
Есть несколько решений данной проблемы:
1) 2ой инстанс UF (простое) 👍
2) Битовое состояние клетки (сложное, но более эффективное)💪
Оба способа дадут 100 баллов. Удачи в нелегком пути !)
А мы двигаемся дальше.
Напоминаю, что я еще веду цель вот тут, там только инфа по собесу:
https://smartprogress.do/goal/374957/
Там я пытаюсь структуризировать весь материал в ходе подготовки. Надеюсь , в итоге потом можно будет собрать “план”, по которому можно готовиться.
Stay Tuned 🙏
Закончил править тесты для первого ассаймента на курсере. Поэтому позволю себе немного рефлексии на тему топика. Чтобы успешно выполнить задание первой недели - Percolation Problem, надо:
1) Максимально разобраться в такой структуре как Union Find. Разобрать каждый подход и обязательно заимплементить (кэп 🙂). Особенно взвешивание (weightening) и компрессию путей (Path Compression)👨💻
Поможет:
-> Видяшки от гугл инжинера. Отлично дополняют теорию первой недели. Плюс визуально приятно воспринимаются
https://www.youtube.com/watch?v=ibjEGG7ylHk&list=PLDV1Zeh2NRsBI1C-mR6ZhHTyfoEJWlxvq
2) Пробежать конспект, который записали по первой неделе
3) Заиимплементить первую версию API. Затем глянуть тесты, игнорируя кейсы с backwash problem. Пофиксить все и далее начинать разбираться с backwash. (о ней ниже) 👇
4) Есть проблема , с которой обязательно столкнетесь решаю задачу по Percolation. Называется “backwash”. Суть в том, что когда система перколирует - (нижняя граница связывается с верхней), элементы, даже закрытые и не соединные с открытыми компнентами, становятся заполненными (full site), из-за того, что присоединены к нижней вирутальной границе. Картиночка ниже.
Есть несколько решений данной проблемы:
1) 2ой инстанс UF (простое) 👍
2) Битовое состояние клетки (сложное, но более эффективное)💪
Оба способа дадут 100 баллов. Удачи в нелегком пути !)
А мы двигаемся дальше.
Напоминаю, что я еще веду цель вот тут, там только инфа по собесу:
https://smartprogress.do/goal/374957/
Там я пытаюсь структуризировать весь материал в ходе подготовки. Надеюсь , в итоге потом можно будет собрать “план”, по которому можно готовиться.
Stay Tuned 🙏
YouTube
Union Find Introduction
Introduction to the Disjoint Set (Union find) data structure
Related Videos:
Union find intro: https://www.youtube.com/watch?v=ibjEGG7ylHk
Union find kruskal's algorithm: https://www.youtube.com/watch?v=JZBQLXgSGfs
Union find union and find: https://www…
Related Videos:
Union find intro: https://www.youtube.com/watch?v=ibjEGG7ylHk
Union find kruskal's algorithm: https://www.youtube.com/watch?v=JZBQLXgSGfs
Union find union and find: https://www…
Ну вот и закончилась первая неделя курса алгоритмов на курсере 🎉. Сегодня разобрал тему Analysis of algorithms: Time and Space complexity.
На самом деле, это очень важный топик и хорошо, что он разбирается на первой неделе курса. Но, к сожалению, мне кажется информация , которая представлена в курсе, немного суховатая и очень теоритическая 🤔. Не хватает практических примеров, чтобы закрепить материал. Хорошо, что нашел прекрасного чувака, который на пальцах объясняет топик, как правильно пользоваться натацией Big O. Что такое lower and upper boundary, и почему Big Theta и Bit Omega нельзя применять к оценке worst and best case
Videos 1-16 - https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw/playlists
Следующие шаги:
1) Повторить пройденный материал, решить 2 медиум задачки с литкода по union-find
2) Подготовиться ко второй неделе курса, отдохнуть и в бой 💪
Stay Tuned 🙏
На самом деле, это очень важный топик и хорошо, что он разбирается на первой неделе курса. Но, к сожалению, мне кажется информация , которая представлена в курсе, немного суховатая и очень теоритическая 🤔. Не хватает практических примеров, чтобы закрепить материал. Хорошо, что нашел прекрасного чувака, который на пальцах объясняет топик, как правильно пользоваться натацией Big O. Что такое lower and upper boundary, и почему Big Theta и Bit Omega нельзя применять к оценке worst and best case
Videos 1-16 - https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw/playlists
Следующие шаги:
1) Повторить пройденный материал, решить 2 медиум задачки с литкода по union-find
2) Подготовиться ко второй неделе курса, отдохнуть и в бой 💪
Stay Tuned 🙏
Сегодня, решил сделать небольшой перерыв и выбраться с друзьями покататься на борде. Погода в Питере и снег, не позволяют сидеть дома 🏂
Очень помогает перезагрузить мозг и восстановить силы.
План на завтра 🙃 :
1) Повторить материал по Algorithm Analysis
2) Закрыть первую неделю плана
3) Подготовить часть материала к фронтендовой конфе в СПб
4) Решить одну задачку по Union Find с плана следующей недели, если останется время
Очень помогает перезагрузить мозг и восстановить силы.
План на завтра 🙃 :
1) Повторить материал по Algorithm Analysis
2) Закрыть первую неделю плана
3) Подготовить часть материала к фронтендовой конфе в СПб
4) Решить одну задачку по Union Find с плана следующей недели, если останется время
