Блог пользователя vintage_Vlad_Makeev

Автор vintage_Vlad_Makeev, 11 лет назад, По-русски

Здравствуйте!

Возможно тема уже боянная, но все-таки: насколько успехи и познания человека в спортивном программировании помогут программисту в реальной работе? С одной стороны, конечно, понимание асимптотики алгоритма, умение оптимизировать код, да и просто бесценный опыт написания кода и отладки несомненно поможет в работе.Но с другой стороны я с трудом представляю, где в реальном программировании понадобятся различные структуры данных, которые так часто используются в спортивном программировании(стек,куча,красно-черное дерево,дерево отрезков и т.д), алгоритмы на графах тоже нужны не каждый день, да и крохотные доли секунды, от которых зависит вердикт задачи в рельной жизни часто не видны.

Собственно и прошу опытных и знающих участников разъяснить мне этот вопрос.

  • Проголосовать: нравится
  • +7
  • Проголосовать: не нравится

»
11 лет назад, # |
  Проголосовать: нравится +30 Проголосовать: не нравится

То, что основные форматы соревнований СП требуют самостоятельно реализовывать стандартные алгоритмы — это рутинная сторона занятия (а, как известно, рутинная сторона есть абсолютно у всех занятий).

А основной плюс занятия СП скорее не в получаемых знаниях, а в развитии навыка решения задач (я про задачи вообще, а не только про олимпиадные). А навык этот очень даже полезный. Мне он вообще кажется незаменимым, однако подавляющее большинство людей живут без него — но ведь Вы же не хотите относиться к этому подавляющему большинству, правда?

Если Вам нужен-таки пример практической применимости многих алгоритмов — погуглите по запросу "Big Data". Пример далеко не единственный, если нужны другие — ищите их для соответствующих алгоритмов.

Чуть-чуть не про работу. Лично мне занятия СП помогли сдать на минимальный проходной балл экзамен в Школу анализа данных от Яндекса. К сожалению, идею доказательства того, почему задача сортировки с помощью сравнений в общем случае неразрешима за время лучше , я узнал не на занятиях по дискретке в универе, а вот отсюда.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

я, конечно, не мастер таких вопросов, да и опыта в таких делах у меня немного, но, кажется, не стоит заострять внимание только на сп, а параллельно с этим пытаться копаться еще в каких то других областях, допустим досконально изучить с++, чтобы отчетило понимать, что там и как происходит (как показывает практика, сп этого не дает) или, допустим, освоить программирование под андроид, изучить многопточное программирование и подобные вещи, которые мало связаны с сп, кому что нравится.

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

»
11 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Внесу свою лепту. СП — это то, что реально поможет в реальной жизни) Естественно речь не идет про формочки на сайтиках. Вот у нас много где используются различные деревья и разные интересные варианты хеш-таблиц. В одном месте даже есть дерамида, хотя она там и появилась по фану моего коллеги-спшника) А если серьезно, то сп очень помогает писать код с минимальным количеством багов, что очень ценно. Да и на счет крохотных долей секунды. Кое-где важны еще более малкие доли секунды, чем в задачках.