![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Iron Bug |
![]()
Сообщение
#1
|
|||
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
имхо, не надо тратить время на запоминание алгоритмов. они бывают очень хитрожопые, но пользы от их запоминания нет никакой. разве что ради развлечения на досуге (если таковой имеется). алгоритмы всегда можно найти, когда потребуется. это маленькие кирпичи, из которых строится программа. но они не играют роли, если общая концепция плохо продумана. так что то, что реально полезно в жизни - это паттерны(модели, схемы, принципы) проектирования ПО. по этой теме есть непревзойдённая книжка Эриха Гаммы и компании "Паттерны программирования" (или как-то так, я на английском читала, там она называется Design Patterns: Elements of Reusable Object-Oriented Software). Тут в книгах кто-то выкладывал русский перевод, но мне лично попадался очень распространённый и совершенно чудовищный перевод, полный ошибок, и я бы всё же рекомендовала её читать на английском, при возможности. эта книжка во многом ставит мозги на место и позволяет быстро решать довольно запутанные задачи в программировании. Только нет в стандарте алгоритмов на графах (алгоритма обхода графа, алгоритма нахождения кратчайшего пути ...), алгоритма поиска пары ближайших точек, определения выпуклой оболочки, поиска наибольшего общего делителя и т.д. Задач очень много и решений тоже. И нужно уметь анализировать эти решения, какое из них в твоей ситуации лучшее. это всё (ну, почти всё, что встречается на практике) и ещё куча всякой дребедени есть в бусте. Сообщение отредактировал ViGOur - 21.8.2010, 17:53 |
|||
|
||||
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
А мы живем в Золотом веке? Все возможные/нужные алгоритмы уже придуманы и выложены в интернете? ![]() А если в интернете нет решения для этой задачи, она уникальна и решение нужно придумать самому. Почему, не попробовать разработать свой алгоритм, который будет эффективней существующих? А как это можно сделать, если как минимум не разобраться с + и - существующих решений? да, мы живём практически в золотом веке и многое уже сделано. нужно только уметь пользоваться, чтобы не изобретать свои велосипеды. насчёт "эффективней"... посмотрите патентованные алгоритмы, за которые научные институты деньги получают. но это их работа. это приносит им доход. а программисту доход приносит работающий софт. и это не его дело сочинять мега-алгоритмы, если есть уже готовые проверенные решения. вообще, самопальные старатели напоминают мне одного чудаковатого мужика, который когда-то жил по соседству на даче. он выращивал чеснок из цветущих головок: собирал крошечные бульбочки, которые вырастают на цветоносах чеснока, через год у него были уже полусантиметровые дольки, через два - сантиметровые... в итоге, через пять лет такого мытарства он получал обычный чеснок. вопрос: а есть ли смысл всего добиваться с нуля? если можно взять готовые дольки обычного чеснока, посадить и за сезон получить результат. вот алгоритмы - это примерно то же самое. а что касается решения нетривиальных задач... то уж если кому не хватает мозгов - тем алгоритмы не помогут, я вас уверяю. я преподавала и математику, и программирование одно время. видела разных людей и на работе, и в быту, так сказать... либо логические структуры мозга у человека развиты и он всегда найдёт нужное решение для любой задачи (при необходимости прочитав того же Кнута), либо они не развиты и чтение Кнута ничего не даст. но имеет ли смысл забивать себе голову ненужной информацией и тратить время на такие вещи без конкретной цели - это большой вопрос. обычно те, у кого есть реальная работа, не задаются подобными вопросами. они решают свои задачи и не помышляют о "мега-супер-алгоритме для обхода многомерного графа в какром-нибудь диком банаховом пространстве". ибо ни к чему ![]() P.S. да, ещё граждане, беспокоящиеся об оптимальности, пользуются вендой и QT ![]() Сообщение отредактировал Iron Bug - 21.8.2010, 11:38 |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 24.6.2025, 3:25 |