Недавно заинтересовался темой сортировок и поиска - попробовал что-то написать - ахуел. Спросил у преподавателя, одногруппника задрота, брата-погроммиста - они посоветовали книги и курс на курсере (тот, что с обложки) Книги: Кнут - "Искусство программирования", Т Кормен - Алгоритмы построение и анализ Седжевик - Алоритмы на джава Штайн - алгоритмы Гудрич - алгоритмы и стр данных в джава
Кнут был дома - ахуел просто. закрыл сейчас читаю седжевика + его же курс на курсере (снова же, который в 4 частях) - сложно, но очень интересно
Хочу спросить опытного (!) анона - а что ты читал по алгоритмам? было тебе это интересно? помогло? (конечно помогло!) и другую интересную инфу.
summary: о себе: 17 лет, 1 курс КПИ (киев полит инст), знаю язык Си, Шарп (синтаксис и консольные программки сложности лаб мда). Хочу: ткните лицом в какие-то книги, курсы + инфо про опыт.
Да как же вы заебали этой платиной. Куча книг, видеопараши, курсов, статей, примеров кода, визуализаций работы алгоритмов, но нет, блядь, хочу заебать всех дебильными вопросами.
>>641465 А меня пидорнули с прикмата - прикмата благодаря товарищу Копычко и Мальчикову в 2005 после первого курса. Теперь я в ДНР живу и работаю на РФ, окончил донецкий политех, потом магистратура в бауманке. И все равно лучше друзей чем из 14й общаги да и вообще с того первого курса у меня так и не появилось. Добра тебе, цени своё время в кпи, держись за своё право там учится и люби людей тебя окружающих - есть шансы что никого интереснее ты не встретишь
>>641476 По алгоритмам я только SICP читал, и то оно не вполне алгоритмы. Но рекомендую если что. Копычко откликнулся хоть? Чертов и бабка якут(?) ещё читает? Историк все тот же классный алкоголик-интеллигент? Мальчиков разкурвился обратно?
В идеале, если ты хочешь не просто полюбопытствовать, тебе нужен полноценнный курс из нескольких смежных областей:
1. Базовый матан, на уровне первого курса, чтобы понимать математические формулки, алгоритмы на графах, и подобную хуйню. Используй любую пару вузовских учебников поспрашивай в sci, если хочешь, я рекомендую Ильин-Садовничий-Сендов ч.1 матан и Яблонский дискретная математика, можно читать только про алгебру логики, автоматы и графы. 2. Базовая теория множеств, после первого пункта пойдет на ура. Подойдет Куратовский-Мостовский гл.1-3,6-7, хотя выбор не принципиален, можешь навернуть какой-нибудь видеокурс. Это очень важный пункт, потому что в норм книжках не разжевывают каждую мелочь, а используют терминологию множеств. Поэтому, в частности, ты и охуел от Кнута а от Успенского-Семенова вообще обосрешься. 3. Теперь ближе к делу. Колмогоров-Драгалин, тут без вариантов и от корки до корки. Можешь порешать задачки из Лаврова-Максимовой, это гораздо полезнее, чем просто зубрить теорию. 4. На этом этапе ты уже, вероятно, сам поймешь, чего тебе надо. В любом случае, здесь ты уже без проблем осилишь Кнута, Кормена etc. Если же тебя больше увлекает теоретическая сторона вопроса то бишь, построение новых алгоритмов, а не воспроизведение существующих, то наверни Успенского-Семенова, а затем гугли публикации за последние джвадцать лет. Также неплохо обмазаться методами оптимизации, теорией моделей, ну и по своей предметной области всяким. Такие дела.
Ты ебанутый? Мукулатура, выпущенная в рашке/совке (особенно с пометками "рекомендовано для вузов" и т.д.), пригодна в лучшем случае только для обогрева помещения.
(Автор этого поста был предупрежден.)
>>641498 сохранил. Уже начал читать Яблонский - ДМ. у нас, кстати, 4 семестра компьютерной ДМ есть. Вроде интересно, но хз где использовать (КАК ГДЕ-при решении сложных задач)
алгоритмы номр тема, но я довн, помню чтобы понять сортировку пузырьком, пришлось на бумагу писать и пошагово все проходить. чтобы понять окончательно как работает чо
>>641514 Ему не надо на таком уровне, я думаю. Хотя вообще матанализ знать полезно. Как решебник же к Демидовичу лучше всего использовать китайский антидемидович, ибо там решены все без исключения задачи, и с той же нумерацией.
В начале прошлого года я проходил курс по языкам на юдасити. Там мы пердолили грамматики и конченые автоматы. Уже летом я не помнил оттуда нихуя. Я, конечно, не жалею, потому что курс был интересным, но это получилось такое просирание времени на уровне игрушек и анимы.
Список полезный, однако я люто против читать всю эту литературу без понимания нахуя оно вообще нужно. Я хорошо задрачивал матан и ДМ в универе, а спустя 4 года нихуя уже не помнил. В итоге, начал читать Кормена, а уже оттуда двигался вглубь с четким пониманием что именно я хочу там найти.
>>641448 (OP) Все правильно, проходи курс Седжвика. Читать его книгу целиком не надо, это справочник, а не учебник.
Вот минимум, который должны знать все: (почти все темы есть в курсе Седжвика) 1) Что такое O() большое и что такое среднее время работы. В общем, самое начало 1 семестра матана, даже производные не нужны. 2) Quicksort, mergesort. 3) Стэки, очереди, связные списки. 4) Очереди с приоритетом. 5) Хэш-функции и хэш-таблицы. 6) Деревья всякие разные. Самые популярные - это red-black tree и b-tree. С помощью red-black tree реализованы такие структуры данных, как ordered set и ordered dictionary. Самому писать b-tree не надо, red-black tree надо. Как сериализовать дерево. Как обходить деревья. Короче, деревья - они везде, это самая важная тема.
Графы, теория чисел и т. д. - это все, конечно, интересно. Если прет эта тема, то стоит тоже изучать, можешь в олимпиадах каких-нибудь участвовать, решать codeforces. Если не прет, то не стоит, потому что эти вещи довольно узкоспециализированные и в каком-нибудь энтерпрайзе или вебе они не нужны.
>>641498 > 1. Базовый матан Из матана не нужно ничего, кроме O-нотации. Никакие учебники для этого читать не нужно, она изучается за 30 минут по википедии. Матан нахуй не нужен. Но если заинтересовал, то нужно читать Зорича или Рудина.
> 2. Базовая теория множеств, после первого пункта пойдет на ура. Есть в Зориче и в Рудине в начале. Изучать всякие ординалы и леммы Цорна, опять же, нахуй не надо. Но если интересно, советую книгу Irving Kaplansky: Set Theory and Metric Spaces
> Кнут Устаревшее говно. Очень плохая книга (если ты про конкретную математику).
> Кормэн Это справочник, а не учебник. Подряд читать его не надо.
>>641725 Потому что в худшем случае для i-го элемента массива нужно свапнуть i пар элементов. По формуле для суммы арифметической прогрессии получаем, что в худшем случае нужно сделать n(n + 1)/2 = O(n^2) операций.
>>641733 Еще как должно. Каждый алгоритм, который будет повторяться не фиксированное количество раз, стоит прогонять через оценку, чтобы представлять масштабы нагрузки.
>>641737 А формула арифметической прогрессии откуда взялась, блядь? Нет, конечно, в данном случае все легко, но это же блять самый простая ситуация, где нужен матан. В другом случае уже не будет простой формулы, чтобы так посчитать и придется уже вычислять пределы.
>>641743 > В другом случае уже не будет простой формулы, чтобы так посчитать и придется уже вычислять пределы. Когда не будет простой формулы, программист придет ко мне и я разберусь.
> А формула арифметической прогрессии откуда взялась, блядь? Ее даже пятиклассник с синдромом дауна выведет. Пусть a - первый член прогрессии, d - разность. a + (a + d) + (a + 2d) + ... + (a + (n - 1)d) = 1/2[(a + a + (n - 1)d) + (a + d + (n - 2)d) + (a + (n - 1)d + a] = 1/2(a + a + (n - 1)d)
Или ты из долбоебов, которые всю математику называют матаном?
>>641750 Какие-нибудь банальные биномиальные коэффициенты много где используются, но выводятся уже сложнее - надо знать про факториалы и сочетания. С частичными произведениями ты завязнешь без логарифмов. Хочешь не обосраться, считая сумму расходящегося ряда - придется запрограммировать пару признаков сходимости. Интегрирование/решение уравнений - будь добр осилить численные методы... Ну ты понел, если зазубривать в виде готовых формул все, что тебе может понадобиться, то ты еще больше усилий потратишь.
И еще одна обжественная книга по прохождению собеседований, читая которую ты заодно проходишь все классические алгоритмы - Cracking the coding Interview
>>642173 Алгоритмы на Java без матана, но там тем поменьше будет. Плюс тому, кто джаву учит - они рассматривают не только алгоритмы, но и классы из java.collections которые их реализуют.
>>641448 (OP) Ну рас уж ты с КПИ и хочешь взять грант, то советую тебе пообщаться с Молчановским (мой бывший препод оп алгоритмам, преподавал в США по гранту). Он тебе пояснит за гранты и прочую дрисню. Правда он дропнул ФИОТ(как и все нормальные проподы), но думаю чем то он тебе может и поможет. А вообще желаю тебе удачи. Много было на первом курсе амбициозных и целеустремленных. Сейчас уже всем на все насрать. Да я и сам дропнул в этом году ибо заебало.
Недавно заинтересовался темой сортировок и поиска - попробовал что-то написать - ахуел. Спросил у преподавателя, одногруппника задрота, брата-погроммиста - они посоветовали книги и курс на курсере (тот, что с обложки)
Книги:
Кнут - "Искусство программирования",
Т Кормен - Алгоритмы построение и анализ
Седжевик - Алоритмы на джава
Штайн - алгоритмы
Гудрич - алгоритмы и стр данных в джава
Кнут был дома - ахуел просто. закрыл
сейчас читаю седжевика + его же курс на курсере (снова же, который в 4 частях) - сложно, но очень интересно
Хочу спросить опытного (!) анона - а что ты читал по алгоритмам? было тебе это интересно? помогло? (конечно помогло!) и другую интересную инфу.
summary:
о себе:
17 лет, 1 курс КПИ (киев полит инст), знаю язык Си, Шарп (синтаксис и консольные программки сложности лаб мда).
Хочу: ткните лицом в какие-то книги, курсы + инфо про опыт.
Спасибо