LINUX.ORG.RU
ФорумTalks

Математика для программиста

 , ,


0

2

Какие темы надо знать хорошо для того, что бы начать вникать в книги по алгоритмам, решать задачи и т.д? В прошлых темах посоветовали книг, но половину помню и так, половину можно (как мне показалось) не изучать (а точнее не вникать на 146%). Какие темы надо знать программисту (и если можно, то по порядку изучения)?

Ответ на: комментарий от umren

А как к дискретной математике подойти то? Что надо изучать перед тем, как окунуться в дискретную?

mkrvdns
() автор топика
Ответ на: комментарий от mkrvdns

Насколько я смыслю в математике, теория множеств лежит в ее основе, т.е. ничего.

Deleted
()

-начни с множеств и комбинаторики
«Дискретная математика для программистов», «Конкретная математика»
-потом постепенно переходи на графы
-потом теории алгоритмов, вычислений

Deleted
()

Дискретка, комбинаторика

Линейная алгебра, теория вероятностей, теория оптимизации (всяких [выпуклых] n-мерных функций), вариационное исчисление, ЦОС

yoghurt ★★★★★
()
Ответ на: комментарий от Sociopsih

Черезчур то не надо вникать) Хотя может ему больше подойдет Кормен, Кнут и подобные.
https://vk.com/proglib
Может сам не знает чего хочет, судя по прошлым темам.

Deleted
()

Дискретка и возможно комбинаторика. А вот матан не нужен. И зачем им всем студентам мозги пичкают?

drull ★☆☆☆
()
Ответ на: комментарий от drull

Дискретка и возможно комбинаторика.
матан не нужен

/0

Unicode4all ★★★★★
()
Ответ на: комментарий от drull

Конкретно анализ нужен, но не в таких количествах. А пичкают, потому что программа осталась от совка, где радиоинженеров им пичкали. Потому что им он как раз таки нужен.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)

Смотря что писать собираешся. Если кодеки видео/аудио, рендеры, научный софт, то много знать надо. Если сайтостроение/дазы банных и прочий прикладной софт, то 99% случаев покрывается пропорцией и линейным уравнением.

atrus ★★★★★
()
Ответ на: комментарий от drull

А вот матан не нужен.

Садись - два.

Как объяснить без матана кривые Безье и сплайн-полиномы? Как написать симулятор каких-нибудь физических процессов без знания диффуров и без понимания того, как их численно решать?

invy ★★★★★
()
Ответ на: комментарий от atrus

А как же самоудовлетворение? Да и я уверен на 100 процентов, что мне надоест фронтенд (всё таки параллельно с Сями я начал жабускрипт). А куда я захочу лет через 5 переквалифицироваться - хз. Это могут и html5 игры быть, и мобилко дев. Да и уделять час в день на математику никак не будет мешать.

mkrvdns
() автор топика
Ответ на: комментарий от mkrvdns

И в играх (если не писать движок) и в мобилках хватит того, что я сказал. Однако, я отвечал на вопрос «что нужно», а не «что хочется». Если есть желание - изучать можно всё. Хоть квантовую хромодинамику. И может быть даже применить удастся.

atrus ★★★★★
()
Последнее исправление: atrus (всего исправлений: 1)
Ответ на: комментарий от contra_sperm_spero

Какая польза от дискретки, кроме оптимизации многоэтажных условий?

Но ведь дискретная математика — это и графы, и автоматы с формальными грамматиками, и много чего еще!

Waterlaz ★★★★★
()
Последнее исправление: Waterlaz (всего исправлений: 1)
Ответ на: комментарий от atrus

Изучать форфан и для чего-то — разные вещи. Если не пилишь стартап по собственной идее или не шаражишь по самостоятельно выбираемым заказам, то нельзя заранее угадать, какая предметная область попадётся и в чём придётся разбираться. По отношению к математике это тоже справедливо: может вообще никогда не пригодиться (да, многие программы состоят чуть менее чем полностью из тасования готовыми библиотеками и компонентами), а могут понадобиться довольно сложные вычисления. Если предварительно нужно целую матмодель построить, то не обязательно к этому припахивать кодеров же.

contra_sperm_spero
()
Ответ на: комментарий от contra_sperm_spero

Ну графы ещё допустим, а автоматы и грамматики из другой оперы вообще.

Ну как же, в широком понимание дискретная математика — математика на счетных множествах.

Waterlaz ★★★★★
()
Ответ на: комментарий от Waterlaz

Но не всё, что на счётных множествах — дискретная математика. Есть вещи, которые не принято рассматривать в виде суровых математических абстракций просто потому, что вне программирования (тоже в широком смысле — как алгоритмики) они нафиг нигде не упёрлись. По автоматам и грамматикам, конечно, есть математическая теория, но я бы не сказал, что она достаточно абстрагирована от алгоритмики.

contra_sperm_spero
()
Ответ на: комментарий от Waterlaz

Хотя с «широким смыслом» я, пожалуй, загнул, ибо тут скорее наоборот: программирование ведь ещё из того самого тасования готовыми компонентами (и подстраивания под них) вышеописанного состоит.

contra_sperm_spero
()

Так есть однозначный ответ или мне надо с 8 класса начинать всё подряд учить?

mkrvdns
() автор топика
Ответ на: комментарий от mkrvdns

Ты пока хочешь разобраться с классическими алгоритмами? Или ты хочешь понимать любые?
Потому чтобы понимать любые тебе надо разбираться в предметной области

Deleted
()
Ответ на: комментарий от Deleted

разбираться в предметной области

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

Sociopsih ★☆
()
Ответ на: комментарий от Sociopsih

Т.е. ему пока достаточно классики или он хочет понимать все, что подразумевает понимание классических и предметную область.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от mkrvdns

Ты уже начинал? Дай примеры алгоритмов которые ты не понимаешь.
Ещё можно попробовать потренироваться в комбинаторике. Попытайся сам вывести формулу для перестановок.

Deleted
()
Ответ на: комментарий от Deleted

Тут вопрос в том, что лучше для практики. Во всяком случае я смотрел бы с этой точки зрения. Как мне кажется, если начинать учить «от яйца», то на это уйдет много времени, а вот с практической частью разработки человека как не был знаком, так и не будет. Я бы выбрал что-то среднее. Заниматься практически (читать/писать код) и читать теорию.

Sociopsih ★☆
()
Последнее исправление: Sociopsih (всего исправлений: 1)
Ответ на: комментарий от Sociopsih

Практика для закрепления теории однозначно нужна. Надо только придумать что и как. Наверно можно начать с изобретения пузырька.

Deleted
()
Ответ на: комментарий от contra_sperm_spero

Но не всё, что на счётных множествах — дискретная математика. Есть вещи, которые не принято рассматривать в виде суровых математических абстракций просто потому, что вне программирования (тоже в широком смысле — как алгоритмики) они нафиг нигде не упёрлись. По автоматам и грамматикам, конечно, есть математическая теория, но я бы не сказал, что она достаточно абстрагирована от алгоритмики.

Подожди. То есть по-твоему машина Тьюринга, конечные автоматы и формальные грамматики — не математика? о_О

Waterlaz ★★★★★
()
Ответ на: комментарий от mkrvdns

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

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

Так я начал, просто хочется ближе к сути.

mkrvdns
() автор топика
Ответ на: комментарий от mix_mix

Я очень извиняюсь, но не могли бы вы мне подсказать темы перед тем, как тщательно приступить к комбинаторике и дискретной математике? Какие знания должны быть из обычной математики? На данный момент учу логарифмы.

mkrvdns
() автор топика
Ответ на: комментарий от Sociopsih

Так я с них и начал грубо говоря. Полистал учебники - функции надо просто вспомнить и за 10-ый класс и 11-ый начать учить материал. Логарифмы просто под руку попались, решил почитать и изучить.

mkrvdns
() автор топика

умение делать эквивалентные преобразования (ака алгебра 7-8класс) достаточно

qulinxao ★★☆
()

вообщет достатоночно алгебры Шеня-Гельфанда - а затем Шеня Алгоритмы

qulinxao ★★☆
()
Ответ на: комментарий от mkrvdns

Да никаких там знаний особых не надо для элементарного погружения, вот как раз логарифмы если только. А в аппроксимации для решения реальных задач, конечно, уже будет нужен анализ (обычно на R достаточно) в большинстве случаев.

mix_mix ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.