Сообщение 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>А вы ему сразу: без знания теории графов, алгебры и тории вероятности даже не пытайся...
Эта ветка началась совсем с другого:
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>А вы ему сразу: без знания теории графов, алгебры и тории вероятности даже не пытайся...
Эта ветка началась совсем с другого:
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>Но полезно знать алгебру, вероятности, графы — это по-любому.