Как научиться придумывать более простые алгоритмы, для решения любой задачи?
Т.к. я буду поступать в вуз на программирование, то решила уже сейчас, находясь в 10 классе, начать учиться этому. Я уже освоила основы Python 3, C++, а также сейчас осваиваю HTML, CSS и JS. Но я столкнулась с такой проблемой, что не могу придумать более простой алгоритм.
Это особенно видно на простых задачах, где многие другие люди пишут крайне простой, но рабочий алгоритм, занимающий всего пару срок, пока у меня этих строк все больше и больше... Причем, перенести алгоритм на ЯП мне труда не составляет, но эта разница в простоте самого алгоритма, меня расстраивает. Я понимаю, что это скорее всего, из-за недостатка опыта (всего 4 месяц учусь этому, до этого опыт кодить был только на паскале), но хотелось бы быстрее научиться придумывать более простые алгоритмы. Что можно сделать в такой ситуации?
Вы понимаете, что обрекаете себя на заведомое отставание от тех, кто придет в институт уже с четырьмя годами опыта самостоятельного программирования? Не наезда ради это говорю - просто это область знаний, которую немалое число людей выбирает и начинает изучать очень рано - лет в 12-13. В других областях, где самостоятельно практиковаться сложнее, такого перекоса нет.
Moskus,
Вы понимаете, что я даже понять не могу, что именно вы пытаетесь мне сказать?
Если вы пытаетесь... "уберечь" меня от программирования, то поверьте, у вас ничего не выйдет. Ещё никому не удавалось отбить у меня желание заниматься тем, что мне нравится.
Katawara,
Ну если вы настолько настойчивы, то почитайте про декомпозицию
Также вместо осваивания верстки - сосредоточтесь на одном ЯП и доведите владение им до вменяемого состояния
Moskus, а мы точно говорим об одних и тех же вещах? Лично я не вижу никакой связи с моим вопросом, и вашими ответами. Вообще никакой. Ибо я спрашивала про алгоритмы, а вы мне про детей, который кодить рано начинают, а теперь ещё и про возможности. Поверьте, если сосчитать то кол-во дел, которыми я занимаюсь помимо коддинга, да ещё и имею успех в них, то многие просто не поверят в это, ибо не могут сами совмещать много всего за раз. А я могу, и успешно пользуюсь этим.
Moskus, я свои 5 копеек вставлю, так что теперь оставить все дела только гениям? Если ты на 5% хуже думаешь , работать дворником?
А у меня вот другая статистика есть, много гениев , от того что им все легко дается , рано или позно спиваются или начинают быть наркоманами к примеру.
Был реальный случай когда человек употреблял алкоголь каждый день , потому что не мог терпеть всю убогость простых людей которые его окружают , а сам был реально вундеркиндом , с завязанными глазами в уме решал любые задачи
это забавно, потому что для того, чтобы стать хорошим программистом, нужно еще научиться очень трезво оценивать свои возможности
Откуда вы знаете? Как вы можете быть уверены про себя, что вы хороший программист? Может вы просто нетрезво оцениваете свои возможности? Если вам сказал об этом ваш работодатель, так возможно это просто для того, чтобы удержать посредственного специалиста на it-безрыбье.
mrusklon, у меня такой знакомый был, пил, нюхал кокс, закончил вуз с золотой медалью, знал 12 языков из них 4 на уровне военного переводчика, его постоянно таскали в дальние походы с визитами и переводчиком с делегациями. Погиб в 27 по причине вождения а/т в состоянии наркотического опьянения.
На вопрос "зачем ты употребляешь всю эту гадость?" отвечал "Мир настолько убог, что я завидую тем кто неспособен это увидеть"
Дмитрий, я даже не буду у вас интересоваться, откуда вы вообще взяли, что я - программист. А, тем более, что я говорю о себе, как о положительном примере. Это какая-то свирепая фантазия.
Moskus, Я просто подумал, что для уверенного заявления об условиях, необходимых для того, чтобы стать хорошим программистом, необходим соответствующий личный опыт, отсюда и моя свирепая фантазия.
Дмитрий, для того, чтобы констатировать какие-то факты, опыт, тем более - личный, нужен крайне редко. Зато вот апелляция к опыту - очень распространенный ложный логический аргумент. Так что побольше логики, поменьше фантазий.
Katawara, не слушайте его. Из моих однокурсников почти никто серьезно до универа не изучал программирование, тем не менее все стали успешными программистами. Самое главное - это желание этим заниматься. Ну и я бы сказал, что склонность к техническим наукам будет плюсом. То есть проще это дастся в жизни.
Дмитрий, я и не буду слушать его, т.к уже давно научилась отсеивать полезное, от хлама. А вот про желание вы прям в точку попали. Моя учительница по математике всегда говорит, что желание - это сотни возможностей.)
При чём тут язык? Алгоритмы пишут обычно на псевдоязыке (что-то типа Паскаля или Питона).
Если вам интересен функциональный подход, почитайте Haskell или F#.
Вот действительно, при чем тут язык? В вопросе я лишь сказала, что могу написать свои алгоритмы на любом ЯП, который изучаю, но я спрашивала о том, как создавать более простой вариант алгоритма... Пожалуйста, я выше уже сралась с человеком лишь из-за того, что он немного невнимательно прочитал мои ответы, так что давайте не будем разводить что-то подобное (срачи) и здесь...
Katawara, раз вы не описываете чётко, какая область алгоритмов вас интересует, попробуйте шахматный вариант (разбор партий, поиск ошибок). Если вы нашли более удачный алгоритм, подумайте, какая структура не пришла вам в голову.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.