![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Iron Bug |
![]()
Сообщение
#1
|
|||
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
имхо, не надо тратить время на запоминание алгоритмов. они бывают очень хитрожопые, но пользы от их запоминания нет никакой. разве что ради развлечения на досуге (если таковой имеется). алгоритмы всегда можно найти, когда потребуется. это маленькие кирпичи, из которых строится программа. но они не играют роли, если общая концепция плохо продумана. так что то, что реально полезно в жизни - это паттерны(модели, схемы, принципы) проектирования ПО. по этой теме есть непревзойдённая книжка Эриха Гаммы и компании "Паттерны программирования" (или как-то так, я на английском читала, там она называется Design Patterns: Elements of Reusable Object-Oriented Software). Тут в книгах кто-то выкладывал русский перевод, но мне лично попадался очень распространённый и совершенно чудовищный перевод, полный ошибок, и я бы всё же рекомендовала её читать на английском, при возможности. эта книжка во многом ставит мозги на место и позволяет быстро решать довольно запутанные задачи в программировании. Только нет в стандарте алгоритмов на графах (алгоритма обхода графа, алгоритма нахождения кратчайшего пути ...), алгоритма поиска пары ближайших точек, определения выпуклой оболочки, поиска наибольшего общего делителя и т.д. Задач очень много и решений тоже. И нужно уметь анализировать эти решения, какое из них в твоей ситуации лучшее. это всё (ну, почти всё, что встречается на практике) и ещё куча всякой дребедени есть в бусте. Сообщение отредактировал ViGOur - 21.8.2010, 17:53 |
|||
|
||||
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
А как этим можно заниматься вообще без теоретической базы? а вот так ) В школьные и студенческие годы, сам понимаешь, времени много, я пытался сначала без всяких теорий придумывать решения задач (архиваторы, поиск пути и прочее), что-то получалось, что-то нет. Только потом, "с чистой совестью" читал теорию и либо радовался, что угадал, либо удивлялся, какие же они там все умные - и запоминал способ решения. Или даже не в деталях весь алгоритм, а хотя бы сам факт существования и назначение алгоритма - это более важно, чем помнить в деталях Кстати, DELPHI как раз придумали для таких разработок терпеть не могу дельфи и борладн С. Они приучают к неряшливости. ИМХО, конечно, но впечатление от программ других, написанных в этих средах, такое. Форматирование кода тоже они все любят кошмарное. Сорри за оффтоп |
|
|
BRE |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
а вот так ) В школьные и студенческие годы, сам понимаешь, времени много, я пытался сначала без всяких теорий придумывать решения задач (архиваторы, поиск пути и прочее), что-то получалось, что-то нет. Только потом, "с чистой совестью" читал теорию и либо радовался, что угадал, либо удивлялся, какие же они там все умные - и запоминал способ решения. Или даже не в деталях весь алгоритм, а хотя бы сам факт существования и назначение алгоритма - это более важно, чем помнить в деталях Так и не нужно ничего помнить в деталях, это глупо, да и вообще невозможно. Как я понял, ViGOur просили посоветовать книги то теории алгоритмов, а не справочники готовых алгоритмов. На самом деле придумывание новых алгоритмов или модификация существующих происходит постоянно, мы даже не задумываемся о этом. И теоретическая база позволяет делать это более эффективно. Например, мы можем хранить данные в списке, а можем поместить их в дерево, а можем добавить кеширование часто используемых данных из дерева. Мы можем сортировать данные в кеше, а можем не сортировать. Мы пользовались стандартными алгоритмами, но улучшили некоторые их показатели (скорость), за счет увеличения объема хранения (дополнительный кеш). А могли бы просто все хранить в списке и искать их перебором. терпеть не могу дельфи и борладн С. Они приучают к неряшливости. ИМХО, конечно, но впечатление от программ других, написанных в этих средах, такое. Форматирование кода тоже они все любят кошмарное. Сорри за оффтоп В свое время Borland был хорош (Turbo C 2.0/Borland C++ 3.1). ![]() Я тоже не воспринимаю дельфи. Но зато как он позволяет программировать. Есть куча компонент, которые можно добавлять на форму. Если нужного компонента нет, пишешь на все форумы и тебе скажут где скачать, что-то подобное. Быстро напихал на форму, связал их ка-то, отдал заказчику, получил деньги. Быстро же, но без души. Лично я до сих пор отношусь к программированию как к искусству. Дух настоящего hackinga еще у меня внутри. ![]() |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 27.6.2025, 7:09 |