|
|
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
А нужно ли в повседневной работе программиста знание алгоритмов? Под алгоритмами ,я подразумеваю, сложные математически обоснованные наборы инструкций, всегда приводящие к результату. Ведь, наверняка, можно писать даже коммерческие программы, без особого представления о "сложности алгоритма", "структурах данных" и пр. К примеру, с этим я сталкивался в программировании баз данных(правда небольшие проекты). Хочется услышать мнения людей, основанные на их личном опыте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 18:07:21 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
По большому счету -- не нужны. Я при всем моем уважении к Кнуту в руках не держал его книжки. Во-первых, они очень дорогие, во-вторых, там довольно сложная математика для реальной работы -- ну это примитив такой что нет слов. Я поэтому и ненавижу эту работу и рутину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 19:19:31 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
> примитив Я имел в виду работу, а не книги Кнута ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 19:25:21 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
Сейчас среди программистов и людей близких к этой профессии бытует мнение, якобы подобное никому не нужно. На самом деле это не так. Никто не будет оспаривать тот факт, что в сложных научных или просто крупных проектах (например, abby, google...) используются многие алгоритмы (если не большинство из них), известные из книг Кнута, Кормена, Шеня и пр., а также математические алгоритмы, возможно, некоторые из вычислительной геометрии (теоретического материала по которой крайне мало), но в действительности они нужны и в прикладном программировании (хоть и не так часто). А знание или хотя бы небольшой опыт в работе с алгоритмами, для которых важна скорость их выполнения (грубо говоря, сложность), приводит к хорошей привычке оптимизации как по памяти, так и по скорости. Хороший пример незнания самых основ алгоритмического программирования -- индийский код. Самое печальное, что сейчас ещё есть мнение, что знания программиста оцениваются в кол-ве изученных им языков. Да не так это! Как программист может называться программистом, если он знает 20 языков, а программировать, фактически, не умеет ни на одном? Это же как сишник, не знающий stl... Лично я не знаю, когда что-то в мире переломилось (видимо, с приходом ООП) и люди забыли, что под программированием как раз и понимается алгоритмическое мышление, умение составить работающий оптимизированный алгоритм и лишь потом написать код. И началась эра программистов-сисадминов. Пьёшь пиво, носишь очки, сидишь неделями у компа, знаешь асм, хаскелл, эрланг (или какой-нибудь брейнфак, который на самом деле для практических целей используется только извращенцами, а создан, как реализация всем известной машины Тьюринга... но им же пофиг)? Тогда ты программер! Так чтобы не было такого, уж простите, быдла среди программистов, программист должен быть сначала математиком и инженером, а только потом кодером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 20:20:19 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
студентикА нужно ли в повседневной работе программиста знание алгоритмов? Под алгоритмами ,я подразумеваю, сложные математически обоснованные наборы инструкций, всегда приводящие к результату. Ведь, наверняка, можно писать даже коммерческие программы, без особого представления о "сложности алгоритма", "структурах данных" и пр. К примеру, с этим я сталкивался в программировании баз данных(правда небольшие проекты). Хочется услышать мнения людей, основанные на их личном опыте. Все зависит от вашей будущей специализации в программировании. Если будете заниматься математическим и компьютерным моделированием реальных процессов, то без математики шагу не ступишь, а если обычным прикладным программированием, типа разработка различных клиентов (почтовых, баз данных и т.д.) под управлением существующих библиотек БД, то достаточно математики на уровне 4-го класса. Вон меня всегда удивляло, что например бухгалтера не знают простейших правил округления, для них тайна за семью печатями, почему сумма округлений, не равна округлению суммы. Кроме 4-х действий арифметики, других они не знают. Скажем, применение налогового метода амортизации в бухгалтерском учете. Коэффициент налоговой амортизации определяется как квартальный (для налогового учета) и чтобы из него получить месячный коэффициент (для бухгалтерского учета) бухгалтера тупо делят его на 3. Только одна-единственная тетя на всех бухгалтерских Интернет форумах засомневалось в этом, так ее быстро зашугали, ты чё типа, совсем «очевидных» вещей не понимаешь? А для меня «очевидно», что месячный коэффициент следует из квартального по формуле Кмес = 1 - (1 - Ккв)^(1/3) , а не по формуле теть-бухгалтеров Кмес = Ккв/3 . Именно эта формула позволила мне запрограммировать квартальный (налоговый) учет ОС, как ежемесячный (бухгалтерский), с тем же эффектом. А сделано это с целью единообразия форм документов и используемых алгоритмов (правда, ценной, некоторого увеличения объема базы данных). Что до алгоритмов, то например я уже несколько дней вожусь с одним нелинейным алгоритмом сортировки на базе natural merge sort . Так вот «линейные» реализации этого алгоритма получены достаточно легко и просто и работают без проблем. А «нелинейная» реализация, при кажущейся простоте, реализована пока только на 99%. А последний процент меня уже измотал :) . Если вы работали с IdaPro , то там есть программа wingraph32.exe , которая строит блок схемы дизассемблерного кода. Очень классная вещь! В Интернете есть ее исходные тексты на чистом Си. Только без знания алгоритмов построения блок схем они дают мало пользы. А вообще-то эту программу хотелось бы улучшить, жаль только, что у меня другая специализация :) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 20:29:27 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
Знавал я одного программиста, который ... в общем, говорит мне: "че-то Дельфа твоя не работает как следует. Делаю цикл, и комп виснет. ". Далее выясняется, что цикл у него от 1 и до 100! (100 факториал). То есть, он не имел представления ни о том, насколько велико число 100!, ни о том, можно ли его вообще вместить в некий integer... и о многом другом. Его задача была связана с оптимальным раскроем материала, а он до этого клепал формочки в Акцесе. И вообще, математика и алгоритмы - это и есть программирование, это - подход. А кодирование, это- семечки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 20:32:55 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
S.G.Знавал я одного программиста, который ... в общем, говорит мне: "че-то Дельфа твоя не работает как следует. Делаю цикл, и комп виснет. ". Далее выясняется, что цикл у него от 1 и до 100! (100 факториал). То есть, он не имел представления ни о том, насколько велико число 100!, ни о том, можно ли его вообще вместить в некий integer... и о многом другом.Чёто какой-то странный у тебя дельфишник, или ты троллишь. Нормальный дельфишник за 10 минут нашел бы компанент решающий его задачу и еще за полчаса сделал бы форму с программой и этим компонентом. Всего-то делов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 21:14:40 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
S.G.Знавал я одного программиста, который ... в общем, говорит мне: "че-то Дельфа твоя не работает как следует. Делаю цикл, и комп виснет. ". Далее выясняется, что цикл у него от 1 и до 100! (100 факториал). То есть, он не имел представления ни о том, насколько велико число 100!, ни о том, можно ли его вообще вместить в некий integer... и о многом другом.Чёто какой-то странный у тебя дельфишник, или ты троллишь. Нормальный дельфишник за 10 минут нашел бы компанент решающий его задачу и еще за полчаса сделал бы форму с программой и этим компонентом. Всего-то делов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 21:16:14 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
механизаторЧёто какой-то странный у тебя дельфишник, или ты троллишь. Нормальный дельфишник за 10 минут нашел бы компанент решающий его задачу и еще за полчаса сделал бы форму с программой и этим компонентом. Всего-то делов.Это распространенное заблуждение среди механизаторов. Нормальные дельфишники обычно кодят, когда решают нестандартную задачу. КомпОненты они пользуют только для стандартных фич. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 21:31:12 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
EmeryЧто до алгоритмов, то например я уже несколько дней вожусь с одним нелинейным алгоритмом сортировки на базе natural merge sort . Так вот «линейные» реализации этого алгоритма получены достаточно легко и просто и работают без проблем. А «нелинейная» реализация, при кажущейся простоте, реализована пока только на 99%. А последний процент меня уже измотал :) . Ну вот, стоило объявить во всеуслышание о проблеме «последнего процента» и он успешно достигнут! Почти мистика :) . Так что свой нелинейный алгоритм natural merge sort я реализовал полностью, на 100%. Можно идти дальше :) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2009, 21:34:20 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
RT183.1По большому счету -- не нужны. Я при всем моем уважении к Кнуту в руках не держал его книжки. Во-первых, они очень дорогие, во-вторых, там довольно сложная математика для реальной работы -- ну это примитив такой что нет слов. Я поэтому и ненавижу эту работу и рутину Вот-вот... И у меня сложилось аналогичное мнение. Изучай алгоритмы, не изучай, а в основном вся работа в большинстве своем требует лишь знаний в предметной области(бух. учет, базы данных в основном SQL и прочее), да навыков работы со средой программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 01:28:43 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
CoddoСейчас среди программистов и людей близких к этой профессии бытует мнение, якобы подобное никому не нужно. На самом деле это не так. Никто не будет оспаривать тот факт, что в сложных научных или просто крупных проектах (например, abby, google...) используются многие алгоритмы (если не большинство из них), известные из книг Кнута, Кормена, Шеня и пр., а также математические алгоритмы, возможно, некоторые из вычислительной геометрии (теоретического материала по которой крайне мало), но в действительности они нужны и в прикладном программировании (хоть и не так часто). А знание или хотя бы небольшой опыт в работе с алгоритмами, для которых важна скорость их выполнения (грубо говоря, сложность), приводит к хорошей привычке оптимизации как по памяти, так и по скорости. Хороший пример незнания самых основ алгоритмического программирования -- индийский код. Самое печальное, что сейчас ещё есть мнение, что знания программиста оцениваются в кол-ве изученных им языков. Да не так это! Как программист может называться программистом, если он знает 20 языков, а программировать, фактически, не умеет ни на одном? Это же как сишник, не знающий stl... Лично я не знаю, когда что-то в мире переломилось (видимо, с приходом ООП) и люди забыли, что под программированием как раз и понимается алгоритмическое мышление, умение составить работающий оптимизированный алгоритм и лишь потом написать код. И началась эра программистов-сисадминов. Пьёшь пиво, носишь очки, сидишь неделями у компа, знаешь асм, хаскелл, эрланг (или какой-нибудь брейнфак, который на самом деле для практических целей используется только извращенцами, а создан, как реализация всем известной машины Тьюринга... но им же пофиг)? Тогда ты программер! Так чтобы не было такого, уж простите, быдла среди программистов, программист должен быть сначала математиком и инженером, а только потом кодером. Раньше мое мнение было диаметрально противоположным вашему. Я считал, что любую задачу можно решить с наскоку, не особо напрягаясь, при этом надо лишь хорошо владеть языком программирования и чем он "ниже", тем круче. Конечно, время изменило мои взгляды, мне нравятся красивые алгоритмически решения задач, хочется этому больше научиться, но с другой стороны печально осознавать, что это удел каких-либо узкоспециализированных проектов, а в большинстве своем востребованы на практике примитивные, но массовые задачи документооборота, финанс. отчетность и прочее. Кстати, а почему в программистском мире такая ненависть к индусам и их коду? По слухам ведь они очень неплохие программисты и у них сильная математическая школа. Слышал только, про их ухищрения по увеличению строк кода, да и то потому, что у них система оценки труда была в LOC. А насчет ассемблера пожалуй несоглашусь, мне кажется он неплохо прочищает мозги после высокоуровневого мышления, да и библиотек под него не так много, поэтому и приходится больше писать самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 01:57:28 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
EmeryстудентикА нужно ли в повседневной работе программиста знание алгоритмов? Под алгоритмами ,я подразумеваю, сложные математически обоснованные наборы инструкций, всегда приводящие к результату. Ведь, наверняка, можно писать даже коммерческие программы, без особого представления о "сложности алгоритма", "структурах данных" и пр. К примеру, с этим я сталкивался в программировании баз данных(правда небольшие проекты). Хочется услышать мнения людей, основанные на их личном опыте. Все зависит от вашей будущей специализации в программировании. Если будете заниматься математическим и компьютерным моделированием реальных процессов, то без математики шагу не ступишь, а если обычным прикладным программированием, типа разработка различных клиентов (почтовых, баз данных и т.д.) под управлением существующих библиотек БД, то достаточно математики на уровне 4-го класса. Вон меня всегда удивляло, что например бухгалтера не знают простейших правил округления, для них тайна за семью печатями, почему сумма округлений, не равна округлению суммы. Кроме 4-х действий арифметики, других они не знают. Скажем, применение налогового метода амортизации в бухгалтерском учете. Коэффициент налоговой амортизации определяется как квартальный (для налогового учета) и чтобы из него получить месячный коэффициент (для бухгалтерского учета) бухгалтера тупо делят его на 3. Только одна-единственная тетя на всех бухгалтерских Интернет форумах засомневалось в этом, так ее быстро зашугали, ты чё типа, совсем «очевидных» вещей не понимаешь? А для меня «очевидно», что месячный коэффициент следует из квартального по формуле Кмес = 1 - (1 - Ккв)^(1/3) , а не по формуле теть-бухгалтеров Кмес = Ккв/3 . Именно эта формула позволила мне запрограммировать квартальный (налоговый) учет ОС, как ежемесячный (бухгалтерский), с тем же эффектом. А сделано это с целью единообразия форм документов и используемых алгоритмов (правда, ценной, некоторого увеличения объема базы данных). Что до алгоритмов, то например я уже несколько дней вожусь с одним нелинейным алгоритмом сортировки на базе natural merge sort . Так вот «линейные» реализации этого алгоритма получены достаточно легко и просто и работают без проблем. А «нелинейная» реализация, при кажущейся простоте, реализована пока только на 99%. А последний процент меня уже измотал :) . Если вы работали с IdaPro , то там есть программа wingraph32.exe , которая строит блок схемы дизассемблерного кода. Очень классная вещь! В Интернете есть ее исходные тексты на чистом Си. Только без знания алгоритмов построения блок схем они дают мало пользы. А вообще-то эту программу хотелось бы улучшить, жаль только, что у меня другая специализация :) . Согласен с вами, только не особо часто встретишь на рынке труда предложения о такой работе, где требуется хорошая мат. подготовка. А в чем различие "нелинейной" реализации от "линейной" в приведенной выше сортировке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 02:20:07 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
механизаторS.G.Знавал я одного программиста, который ... в общем, говорит мне: "че-то Дельфа твоя не работает как следует. Делаю цикл, и комп виснет. ". Далее выясняется, что цикл у него от 1 и до 100! (100 факториал). То есть, он не имел представления ни о том, насколько велико число 100!, ни о том, можно ли его вообще вместить в некий integer... и о многом другом.Чёто какой-то странный у тебя дельфишник, или ты троллишь. Нормальный дельфишник за 10 минут нашел бы компанент решающий его задачу и еще за полчаса сделал бы форму с программой и этим компонентом. Всего-то делов. Забавно... Еще один миф о всекомпонентном решении задач в Delphi:) По ходу любую задачу в Delphi настоящие гуру решают только киданием компонентов на формы, даже в случае вычисления 100! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 02:28:04 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
программирование это не мат алгоритмы, а умение описать решение задачи на используемом языке. мат алгоритмы это только определённая часть программирования, зачастую под конкретный проект просматриваешь целую область математики. вопрос же был про такие алгоритмы. программер должен иметь представление о том, какие алгоритмы бывают, но изучать их только ради знания это слишком. хотя есть области, где это основное. а вообще, обычно задача стоит гораздо шире чем поиск оптимального мат алгоритма. я имею ввиду ситуацию, когда человек в одиночестве ведёт проект от начала до конца. со временем я начал считать, что тут гораздо ценнее скорее стабильность результата, надёжность и поддержка, т.е. некие орг вопросы, а не оптимальность реализации отдельных кусков. но каждый человек имеет право на своё мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 02:39:59 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
студентик Забавно... Еще один миф о всекомпонентном решении задач в Delphi:) По ходу любую задачу в Delphi настоящие гуру решают только киданием компонентов на формы, даже в случае вычисления 100! нормальный дельфишник не будет искать нестандартные компоненты, или купит библиотеку хорошо зарекомендовавших себя компонентов. а поиск компонента для решения задачи это для студентов, которым впадляк думать головой, и которые считают, что гланое шоп хоть как-то заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 02:42:03 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
правильным дельфишникам, впрочем как и всем программерам, важнее, шоп всё работало качественно. ищущие под каждую задачу компонент, как правило, лохи)) именно после них все плюются на программы на дельфи, и приходится объяснять, что дельфи тут не причём. впрочем, для меня дельфи в прошлом, уж очень пугает то, что он однажды может пропасть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 02:45:58 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
мксик123правильным дельфишникам, впрочем как и всем программерам, важнее, шоп всё работало качественно. ищущие под каждую задачу компонент, как правило, лохи)) именно после них все плюются на программы на дельфи, и приходится объяснять, что дельфи тут не причём. впрочем, для меня дельфи в прошлом, уж очень пугает то, что он однажды может пропасть. Надежность программы, по-моему, так же зависит и от используемых в ней алгоритмов. Да Delphi уже не та... А на что перешли, если не секрет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 03:58:39 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
студентикКстати, а почему в программистском мире такая ненависть к индусам и их коду? Из - за того, что они конкуренты :), и их мого :) А по теме топика - в повседневной жизни - редко. Хотя бывают отдельные вакансии - разработчик алгоритмов - ищи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 07:14:11 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
студентик Еще один миф о всекомпонентном решении задач в Delphi:) Вообще-то в моем примере Дельфи упоминается постольку- поскольку, а упор в нем на то, что человек начал решать какую-то задачу, не имея представление о факториалах, представлении чисел, а также не имел понятия как решаются задачи на оптимизацию. В конце упоминается что он "до этого клепал формочки на Акцесе" но и Акцес тут ни при чем, просто у человека было представление, что все решается средой программирования- делаешь формы, а она устраивает все сама. А насчет математики и алгоритмов- знания в этой области необходимы всегда, пусть и косвено - просто человек обладающий такими навыками использует их даже не замечая. Эти знания стимулируют аналитическое мышление, способность разбить задачу на подзадачи, найти логичный подход. Недавно на форуме встретил выражение "я сделал табличку с (здесь большое число) полями и индексы по каждому полю". По контексту было видно, что поиск по большинству полей не будет производиться, они просто информационные. Вот как вы думаете, этот человек имеет представление, почему нужны индексы, и надо ли обязательно иметь индексы по всем полям? имхо, не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 09:42:53 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
студентик, В текущий момент большенство работы - запрос в базу->показать результат. Мы используем различные ORM, J2EE AS, Other FrameWorks и создавая бизнес приложения. А вот если вы решите написать свой Framework или пожелаете поучаствовать в разработке уже существующего - вот тогда скорее всего понадобятся знания и умения работы с алгоритмами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 10:06:38 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
студентик Надежность программы, по-моему, так же зависит и от используемых в ней алгоритмов. Вариант, когда из за неправильного алгоритма страдает надёжность я даже не рассматриваю. студентик Да Delphi уже не та... А на что перешли, если не секрет? На ВЦ++ и БСБ семь лет назад, но правда полностью почувствовать себя приверженцем майкрософтовских продуктов я так и не смог, наверное сказался 10ти летний стаж использования борландских. Но опять же, на данный момент мне не важно что именно использовать, использовал кучу разных сред разработки, основные проблемы и сложности не в кодировании, а в орг вопросах, а как сделать, с помощью чего, это не главное. Наверное, я не истинный программер, но уже ничего не поделать. Время, когда я стремился к оптимальным алгоритмам ради алгоритмов безвозвратно ушло ещё лет восемь назад:) Но всё же оно было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 11:46:44 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
студентикСогласен с вами, только не особо часто встретишь на рынке труда предложения о такой работе, где требуется хорошая мат. подготовка. А в чем различие "нелинейной" реализации от "линейной" в приведенной выше сортировке? Ну, почему? В военной области, в разработке современных систем вооружений, хорошая «мат. подготовка» очень даже нужна и востребована. А в гражданском секторе, да, математика используется значительно меньше, особенно после распада СССР. Это касается вообще любой наукоемкой деятельности. Я думаю, что чем больше государство использует наукоемкую продукцию в гражданском секторе, тем более оно развито. Вот, например, у нас в Украине, мы даже свой первый спутник связи запустить не можем. Занимаем на это дело денег у Канады. И это объясняет многое. Тем не менее, даже если взять двух программистов занимающихся, допустим, только учетом на предприятии, одного с мат подготовкой, другого без, то разница их подходов хорошо различима. Хотя результат может быть один и тот же. «Математик» более склонен к реализации абстрактных моделей и критическому отношению к существующим, а «Технарь» часто-густо предпочитает стандартизированные локальные решения, вплоть до «ломовых», наращивая мощность больше за счет «крутизны» компьютеров, чем за счет оптимизации алгоритмов. Поверьте, что даже в стандартном учете (если вы его сами программируете) есть масса задач, достойных математиков. Это касается и моделей учета и оптимизации алгоритмов и способности из слабых систем получать максимум возможного. Вот простой пример, для конкретики. Все хорошо знают, что такое «1С». Так вот фирма «1С» сделала такое «изобретение» как субконто . Для «Технаря» тут нет никаких вопросов, ну придумали это понятие, ну и ладно, используют, ну и хорошо. «Математик», хорошо владеющий также предметной областью учета, обязательно озадачится, а зачем, почему, какой смысл в этом? И найдет ответ, который перевернет всю прикладную модель учета братьев Нуралиевых с головы на ноги и более того, заставит переосмыслить весь бухгалтерский учет как таковой. И придет к выводу, что бухгалтерский «учет», это не учет вовсе, а «контроль» , а для того, чтобы вести нормальный учет на предприятии нужно реализовать совершенно другую концепцию, которую логично назвать «натуральный учет» , из которого бухгалтерский «учет» должен быть получен уже как следствие. Могу добавить также, что смысла бухгалтерского «учета» очень часто не знают даже профессиональные бухгалтера со стажем, именно его сути, а не формы, которую они обычно знают в совершенстве. Эту тему можно развивать, но думаю для примера достаточно, чтобы показать различие подходов программистов с абстрактным мышлением (которое дает математика) и без. Подобное различие характерно для любой области программирования, вот и делайте вывод сами, нужна математика прикладному программисту или нет? Насчет «линейной» и «нелинейной» реализации алгоритма сортировки естественным слиянием (natural merge sort) . Он состоит из основных двух операций. 1. Разделение (расщепление) Split данной сортируемой последовательности S на множество локально упорядоченных (по возрастанию или убыванию) подпоследовательностей {s1, s2, s3, . . . , sK} , где все подпоследовательности, кроме, быть может, последней содержат более одной записи (ключа). 2. Объединение (слияние) Merge смежных пар подпоследовательностей одного уровня в одну (слева направо), с учетом порядка упорядочения этих подпоследовательностей. Т.е., убывающая последовательность сливается с «конца», а возрастающая с «начала». Эти две операции повторяются до тех пор, пока вся последовательность S не будет состоять из одной только подпоследовательности, т.е., пока она не станет упорядоченной. Различие между «линейной» и «нелинейной» реализацией, по сути, только в том, чтобы операцию Split применять только одни раз или в один проход по искомой последовательности S (для «нелинейного» случая). Поскольку, этот алгоритм планируется использовать для внешней сортировки файлов (по ключу) больших размеров (не помещающихся в обычную память), то разрешается использовать до двух файловых буферов размером как неизменяемый файл-источник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 13:33:02 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
Чтобы лучше продемонстрировать "нелинейность" алгоритма, прикладывают демонстрационный рисунок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 13:43:16 |
|
||
|
Нужны ли в работе алгоритмы?
|
|||
|---|---|---|---|
|
#18+
SQL_LamerстудентикКстати, а почему в программистском мире такая ненависть к индусам и их коду? Из - за того, что они конкуренты :), и их мого :) А по теме топика - в повседневной жизни - редко. Хотя бывают отдельные вакансии - разработчик алгоритмов - ищи :) Думаю до разработчика алгоритмов мне пока очень далеко:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2009, 15:27:06 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36180391&tid=1343948]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
1216ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 1553ms |

| 0 / 0 |
