Як почати вивчати Алгоритми?
.
.
Cracking the coding interview
Здається останнє видання номер 6
Непогано написана, розумною мовою, багато практичних завдань та питань з відповідями.
Усе інше вже рекомендували :-)
Суми та рядів, комбінаторики
І? В чому тут вища математика? Це базова математика 8го класу школи.
Сума = 2+2
Ряд = 1+2+3+4
Комбінаторика це є два варіанти. А. Б. Комбінуємо: А і Б, А або Б, А без Б, Б без А.
Про алгоритми: який алгоритм змогли вивчити? На якому застрягли? Сортування бульбашкою?
Каждый выученный алгоритм необходимо «запивать» для улучшения усваивания. Вы, что не учились в институте и не были студентом?
Наприклад є алгоритми, де явно вимальовується ряд чисел з деякою закономірністю їх появи в цьому ряді, і щоб запрограмувати деякий обчислювальний цикл алгоритму спершу потрібно вивести формулу суми/добутку цього ряду для якогось кінцевого значення N.
На leetcode я так зразу не згадаю. Але якщо ви розгорнете книжку професора Skiena «Algorithm Design Manual» то в chapter 2 будть теми повязанi з такими речами. А у кiнцi ще й задачi.
тобто в реальному житті воно не треба, на інтерв’ю не треба, але ви наполягаєте, що без цього продовжувати вчити алгоритми неможна?
Я наполягаю на тому що у Вас дуже розвинута фантазiя, i те, що ви в принципi, можете продовжити цей тред i без моєї участi у ньому :-)
В Седжвіка є книжки на різних мовах, я читав по С++. Там перший том хороший, а другий — графи (зазвичай програмістам не потрібні). library-it.com/...nigi-po-c/algoritmy-na-c
Можу порадати курс від університету Берклі sp21.datastructur.es, але там великий фокус на практичні проекти, які доволі складні, та на які потрібно не аби який час покласти.
Подивіться «додаток» у кінці книги, ймовірно вся потрібна математика є саме там.
І як писали раніше то є Leetcode BLIND-75 Solutions.
Я ніколи нічого не вкурюю доки сам на практиці усе не спробую.
Тому гугліть саме по практиці.
Беріть ту мову програмування яку знаєте і починайте гуглити практику .
Я полюбив, наприклад, прості числа коли проходив задачі projecteuler.net
Там задачі по простим числам ускладняються і якщо перші я вирішував у лоб, по іншим ломав голову щоб пришвидшити алгоритм. І я навіть без книжок прийшов до ідеї що можна перебирати числа до квадратного кореня. А потім нагуглив ще й решето Ератосфена
Нашел у кого спросить. Думаешь на этом форуме сидят программисты? Нет, они конечно думают, что они программисты и все такое... ;)
Якщо тебе взяли на роботу програмiстом i отримуеш ЗП як програмiст то ти i е программiст)))
Не треба робити культу небожителiв з кнопкодавства)
2 місяці сам вивчаю програмування
Вивчаєте програмування для чого?
як вивчати алгоритми
Знову те з питання — для чого [ви вважаєте] вам потрібні алгоритми?
На курсері є курс Седжвіка. Легкий у розумінні. Мат викладки можна просто скіпати без втрат у розумінні.
Рекомендую спробувати книгу А. Бхаргава — «Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People».
Не впевнений, що існує український переклад, але точно є російський.
Як на мене це зразок книги, яка не дає жодних знань, але дає відчуття того, що ти маєш досвід.
Я десь о
Привіт!
1. По перше, у Кормена є лайт версія книги про алгоритми. Вона називається «Алгоритмы. Вводный курс». Якщо вам програмувати, то я не бачу сенсу займатися вивченням математики.
2. Я би рекомендував вам паралельно з книгою ще тренуватися вирішувати практичні питання. Наприклад, на сайті Leetcode є курс з 75 найпоширеніших питань.
Успіхів!
Візьми книгу там де немає доказів и математики і вирішуй задачі. Іди на leetcode та вирішуй задачі. Читай вирішення задач в обговореннях. Можешь купити підписку і дивитися вирішення задач, які приводить сам leetcode. Якщо будешь зариватися в математичні докази, то втратишь мотивацію. На собєсі тебе не будуть питать докази. Просто треба буде вирішити задачу і пояснити асимптотику.
32 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів