Информация об изменениях

Сообщение Re[11]: cpp и математика от 04.08.2016 17:57

Изменено 04.08.2016 18:00 Evgeny.Panasyuk

Здравствуйте, B0FEE664, Вы писали:

EP>>Например Эйлерова характеристика, а из алгоритмов чаще всего обход

BFE>Однако! Бывает же... Что, настоящий обход дерева с запоминанием посещённых узлов?

Да, с маркировкой посещённых.

BFE>>>Наличие цикла внутри списка свидетельствует об ошибке,

EP>>Не обязательно.
BFE>Иначе это уже не список.

Почему? Например кольцевой список

BFE>>>так что в тестовых целях я поиск цикла в списке писал, но назвать это работой с графом...

EP>>Тем не менее это она и есть.
BFE>Ну, это всё-таки был тестовый код, а не продакшен.

А какая разница? Вот тебе пригодилось для решения вполне практичной задачи

EP>>Ты же, как я понимаю, пытаешься подвести к тому что графы в явном виде редки, и поэтому не нужны. Вот тут с ассоциативностью аналогия 100%.

BFE>Ассоциативность в С++ встречается в каждом выражении, где есть через аргумент идущие одинаковые знаки a+b+c. Порядок сложения не определён.

1. Порядок сложения определён. Более того, для плавающей точки изменение порядка даст разный результат, так как такие операции как раз не ассоциативны.
2. Я про другую ассоциативность — про свойство бинарной операции, а не про порядок вычисления в отсутствии скобок.

BFE>>>Эти графы, о которых вы пишите — они ведь в голове, а не в коде.

EP>>Не все, но не суть, допустим что все. И какой вывод ты делаешь из этого?
BFE>Из этого я делаю такой вывод: что даже не зная, что такое граф, человек может запрограммировать верное решение.

Во-первых, этот вывод никак не является следствием из обозначенных предпосылок. То что где-то например граф зашит в алгоритме зашит неявно, совсем не означает что до этого алгоритма додумались без теории графов.

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

BFE>Нет. Я хочу сказать, что одни и те же задачи имеют несколько способов решения. Из всех способов решений человек выбирает тот, которым он лучше владеет. И это правильно.


Лучше знать как можно больше способов, чтобы было из чего выбирать.

EP>>Послушай, я не говорю что нужно знать всем, я говорю лишь что нужно знать хорошему программисту.

EP>>Для простейших кодерских задач а-ля "от забора до обеда" достаточно уровня техникума, а то и вовсе шести классов школы
BFE>Вот приходит к нам ferz1 и спрашивает: "какой должен быть минимальный уровень знания математики?"
BFE>А вы ему сразу: без знания теории графов, алгебры и тории вероятности даже не пытайся...

Эта ветка началась совсем с другого:

F>>Допустим прихожу я устраиваться на с++ разработчика, какой должен быть минимальный уровень знания математики? каких разделов и где та линия после которой меня примут?
LVV>Зависит от решаемых задач.
LVV>Но полезно знать алгебру, вероятности, графы — это по-любому.

Re[11]: cpp и математика
Здравствуйте, B0FEE664, Вы писали:

EP>>Например Эйлерова характеристика, а из алгоритмов чаще всего обход

BFE>Однако! Бывает же... Что, настоящий обход дерева с запоминанием посещённых узлов?

Да, с маркировкой посещённых.

BFE>>>Наличие цикла внутри списка свидетельствует об ошибке,

EP>>Не обязательно.
BFE>Иначе это уже не список.

Почему? Например кольцевой список

BFE>>>так что в тестовых целях я поиск цикла в списке писал, но назвать это работой с графом...

EP>>Тем не менее это она и есть.
BFE>Ну, это всё-таки был тестовый код, а не продакшен.

А какая разница? Вот тебе пригодилось для решения вполне практичной задачи

EP>>Ты же, как я понимаю, пытаешься подвести к тому что графы в явном виде редки, и поэтому не нужны. Вот тут с ассоциативностью аналогия 100%.

BFE>Ассоциативность в С++ встречается в каждом выражении, где есть через аргумент идущие одинаковые знаки a+b+c. Порядок сложения не определён.

1. Порядок сложения определён. Более того, для плавающей точки изменение порядка даст разный результат, так как такие операции как раз не ассоциативны.
2. Я про другую ассоциативность — про свойство бинарной операции, а не про порядок вычисления в отсутствии скобок.

BFE>>>Эти графы, о которых вы пишите — они ведь в голове, а не в коде.

EP>>Не все, но не суть, допустим что все. И какой вывод ты делаешь из этого?
BFE>Из этого я делаю такой вывод: что даже не зная, что такое граф, человек может запрограммировать верное решение.

Во-первых, этот вывод никак не является следствием из обозначенных предпосылок. То что где-то например граф зашит в алгоритме неявно, совсем не означает что до этого алгоритма додумались без теории графов.

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

BFE>Нет. Я хочу сказать, что одни и те же задачи имеют несколько способов решения. Из всех способов решений человек выбирает тот, которым он лучше владеет. И это правильно.


Лучше знать как можно больше способов, чтобы было из чего выбирать.

EP>>Послушай, я не говорю что нужно знать всем, я говорю лишь что нужно знать хорошему программисту.

EP>>Для простейших кодерских задач а-ля "от забора до обеда" достаточно уровня техникума, а то и вовсе шести классов школы
BFE>Вот приходит к нам ferz1 и спрашивает: "какой должен быть минимальный уровень знания математики?"
BFE>А вы ему сразу: без знания теории графов, алгебры и тории вероятности даже не пытайся...

Эта ветка началась совсем с другого:

F>>Допустим прихожу я устраиваться на с++ разработчика, какой должен быть минимальный уровень знания математики? каких разделов и где та линия после которой меня примут?
LVV>Зависит от решаемых задач.
LVV>Но полезно знать алгебру, вероятности, графы — это по-любому.