2010-11-11 4 views
10

Я не хочу брать больше математики в колледже, чем должен, курс теории графов не является обязательным требованием, но «рекомендуется» отделом CS. Стоит ли изучать теорию графов как для программиста?Теория диаграмм полезна для разработчиков программного обеспечения?

ответ

16

Удивительно, но многие проблемы в CS могут быть сведены к проблемам с графикой. Не зная основную теорию графов, эти решения ускользнут от вас, и вы, возможно, в конце концов заново изобрете колесо или придумаете решение sup-par. Я бы определенно пошел на это.

14

Поскольку вы не хотите брать «больше математики в колледже, чем [вы] должны», представляется разумным сделать вывод, что вы не видите себя на работе, где вам понадобится много информатики. Есть много программных заданий, где вы часто не будете использовать компьютерную науку, но знание этого всегда полезно. Если мое первоначальное предположение о том, что вы не хотите, чтобы тяжелая работа CS была неточной, вам следует, вероятно, укусить пулю и пройти курс теории графа.

Итак, ответ на ваш вопрос - это зависит от того, какой тип программирования вы хотите сделать. Для научного, математического программирования типа ОС это, вероятно, было бы полезно. Для программирования бизнес-приложений не так много, с оговоркой, что знание CS может помочь любому программисту.

Интересно, однако, если вам действительно не нравится математика, вы уверены, что вы должны стать майором CS? В конце концов, CS вполне соответствует математике.

Если бы у меня было это, чтобы сделать снова, я был бы математиком.

+1

+1 на математике майор, мне жаль, что я тоже не делал математику. – GWW

+0

@gww да. Я бы объединил его с физикой. Думаю, кто-то всегда может получить еще одну степень ... – hvgotcodes

+1

«В конце концов, это действительно все математика». Не могу больше не согласиться, говоря, что CS - это все математика, это похоже на то, что CS - это лингвистика. Конечно, в CS есть элементы математики, такие как элементы лингвистики в CS, но не нужно любить или быть математическим энтузиастом, чтобы делать добро в CS. Джефф Этвуд тоже согласен со мной. – GTL

5

Чтобы добавить немного к тому, что сказал BrokenGlass, проблемы с графикой и поисковыми запросами, вероятно, покрывают справедливую часть всех проблем, когда вы сводите их к основным требованиям, а так как поиск обычно работает на теории графа, то это проблема. хорошая вещь, чтобы иметь.

Я знаю, что не жалею об этом. Стиснуть зубы.

4

Вы уверены, что знаете, что такое теория графов? Мы не говорим о графах типа «графика функций», мы говорим о графах «узлы и дуги». «Теория графа» - это не числовые вычисления.

Программирование, особенно объектно-ориентированное программирование, - это все эти графики. Графики кнопок и виджетов, графики записей реляционных баз данных, графики, изображающие поток событий. Много-к-одному, один-ко-многим, деревья, звезды, с циклами и без них. и т. д.

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

3

Есть тема, которую я не видел в других ответах: социальные сети.

Все интересные алгоритмы (текущие и будущие), раскрывающие информацию, генерируемую Twitter, FB и т. П., Стали возможными благодаря предыдущим изменениям в теории графов.

Смежные вопросы