![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Iron Bug |
![]()
Сообщение
#1
|
|||
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
имхо, не надо тратить время на запоминание алгоритмов. они бывают очень хитрожопые, но пользы от их запоминания нет никакой. разве что ради развлечения на досуге (если таковой имеется). алгоритмы всегда можно найти, когда потребуется. это маленькие кирпичи, из которых строится программа. но они не играют роли, если общая концепция плохо продумана. так что то, что реально полезно в жизни - это паттерны(модели, схемы, принципы) проектирования ПО. по этой теме есть непревзойдённая книжка Эриха Гаммы и компании "Паттерны программирования" (или как-то так, я на английском читала, там она называется Design Patterns: Elements of Reusable Object-Oriented Software). Тут в книгах кто-то выкладывал русский перевод, но мне лично попадался очень распространённый и совершенно чудовищный перевод, полный ошибок, и я бы всё же рекомендовала её читать на английском, при возможности. эта книжка во многом ставит мозги на место и позволяет быстро решать довольно запутанные задачи в программировании. Только нет в стандарте алгоритмов на графах (алгоритма обхода графа, алгоритма нахождения кратчайшего пути ...), алгоритма поиска пары ближайших точек, определения выпуклой оболочки, поиска наибольшего общего делителя и т.д. Задач очень много и решений тоже. И нужно уметь анализировать эти решения, какое из них в твоей ситуации лучшее. это всё (ну, почти всё, что встречается на практике) и ещё куча всякой дребедени есть в бусте. Сообщение отредактировал ViGOur - 21.8.2010, 17:53 |
|||
|
||||
![]() |
BRE |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Если бы все думали так, мы бы по технологическому развитию до сих пор жили бы, дай Бог, веке в XVIII.
К счастью все это не так. Все эти алгоритмы нам достались не от могущественной суперцивилизации, а были придуманы обычными людьми. Очень давно, был придуман алгоритм пузырьковой сортировки, но нашелся человек(и), который решил улучшить алгоритм сортировки. Бинарные деревья были описаны очень давно, но кто-то решил их использовать для разбивания пространства (и это неплохо продвинуло 3D в свое время). Потом, другому человеку понадобилось оптимизировать вывод больших открытых пространств и он обратил внимание на quadtree (которые кстати тоже были описаны значительно раньше этого). А как изменились алгоритмы поиска информации. Таких примеров очень много. И, к счастью, до сих пор есть люди, которые пытаются разработать что-то новое, только они работают в других областях. gamedev очень сильно двигает свои технологии именно разрабатывая новые алгоритмы, вместо того, что бы пользоваться уже готовыми наработками. Я не говорю про научные/технологические исследования. Я уже написал, что на мой взгляд, 98% программистов работают в рутине, они решают свои задачи используя наработки других и им может никогда в жизни не удастся придумать что-то новое. Это их право. Но остаются еще пара процентов программистов, которые смогут продвинуть всю индустрию еще на один шаг вперед. Возможно ViGOur и igor_bogomolov будут одними из них, поэтому я их поддерживая их в желании учиться думать. Насчет USB преобразований... Этот алгоритм придуман Богами? А улучшать его в дальнейшем будут СуперБоги? Или это все таки обычные люди? Iron Bug, ты пишешь видя все со своей колокольни. Что-то быстро написать, быстро получить деньги. Но есть команды, которым ставится задача аналогов у которой еще не было и они начинают разработку с научных изысканий, исследований и расчетов. И если тебе хватает нескольких готовых алгоритмов для работы, то другим этого может быть не достаточно. Не? Сообщение отредактировал BRE - 21.8.2010, 12:24 |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 5.7.2025, 2:30 |