Подтвердить что ты не робот

Как узнать алгоритмы?

Краткая история: только что закончила среднюю школу, выучила немного питона и С++, не имеет друзей с каким-либо полезным компьютерным знанием. Из всех, кого я встречал в свои школьные годы, я был, вероятно, самым большим кретином, но никто не знал об этом. Я считаю, что я обладаю огромными знаниями о компьютерах и технике, а затем о среднем человеке. встроенные/фиксированные тонны компьютеров и способность устранять практически любую проблему, с которой я столкнулся.

Теперь, когда средняя школа окончена, я действительно думал о своей карьере. Любя, живущие компьютеры в течение последних 13 лет моей жизни, я решил воспользоваться своими возможностями и попытаться изучить компьютерное программирование, почему я не начал раньше, чем я не знаю, кажется, большая ошибка с моей стороны...

Проведя некоторые исследования, я пришел к выводу, что Python был первым языком программирования, который я должен изучить, поскольку он был на высоком уровне и более понятным, чем С++ и Java. Я также знал, что для того, чтобы стать хорошим в том, что я сделал, мне нужно было узнать больше, чем только 2 или 3 языка, что не представляло большой проблемы, учитывая, как только я узнал, как работает Python, в основном синтаксис изменился, а остальное придет естественно. Я смотрел пару видеороликов YouTube, загружал некоторые книги в формате pdf и следил за ними из некоторых учебников здесь и там, чтобы узнать, что делать.

Прошло две недели, когда я попытался понять синтаксис, создав небольшие программы, которые использовали основные функции и понимали, как это работает, я думаю, что у меня это получилось. Он разбивается на то, что ive занималось все это время (хотя я и знал), это то, что вход, выход, циклы, функции и другие вещи, полученные из 0 и 1, хранящие данные и вызывающие их, ect. (ОЧЕНЬ ОСНОВНАЯ ИДЕЯ). Я мог создавать небольшие программы, Hangman, хранить файлы, преобразовывать температуру, декодировать/кодировать Caeser Cipher, последовательность Fibonacci и многое другое, что я могу создать и понять, как каждая работа.

Будучи 2 неделями в этом, я многому научился. Ничего, по сравнению с тем, что я должен лечить в ближайшие годы, если я получу контроль над тем, что я делаю. Выполняя эти программы, я не останавливаюсь до тех пор, пока не сделаю практическую проблему в книге, которая достаточно усложняет мне пару часов в зависимости от сложности. Я абсолютно не откладываю вызов до тех пор, пока его полный, КОТОРЫЙ МОЖЕТ БЫТЬ ЧРЕЗВЫЧАЙНЫМ СЛИВОМ, ive попробовал большинство проблем без обмана и достиг успеха, что заставляет меня очень гордиться собой после того, как закончил что-то после долгих проб и ошибок.

После всего этого я встретил демона, alogrithm, который, похоже, является ключом к эффективному коду. Кажется, я не могу отбросить голову над некоторыми компьютерными кодами, которые люди использовали там, используя номера, а иногда и базовые функции, я смог понять их через некоторое время, но я знаю, что есть еще более сложные вещи, учитывая мои self smart, функции, которые требуют сложных кодов, на самом деле вредят моему мозгу. НИЧЕГО НИКОГДА В ЖИЗНЬ МОЖЕТ МОЙ МОЗГ....... нет даже математических занятий в старшей школе, пытаясь понять некоторые вещи, которые люди потушили, заставляет меня чувствовать, что у меня есть недостаток ума... я все еще иду вперед, хотя, пересекая мои пальцы, что понимание придет со временем.

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

ГДЕ В МИРЕ Я НАЧАЛО? Я пытался выяснить, как понять некоторые из проектов с открытым исходным кодом, как я могу работать с опытными кодировщиками, чтобы учиться у них и помогать им, но я не думаю, что это возможно даже благодаря тому, как далеко сравниваются знания людей со мной, У меня нет друзей, с которыми я могу учиться, может кто-то помочь мне и вести меня в правильном направлении. У меня есть огромная мотивация, чтобы хорошо разбираться в кодировании, любая информация была бы чрезвычайно полезна.

4b9b3361

Ответ 1

Прежде всего... Думаю, вам нужно дать себе время. Не вовлекайтесь во многие вещи сразу, обучение программированию может быть долгим процессом. В качестве первого шага я бы рекомендовал изучить язык программирования (например, вы уже делаете на python), а также изучить концепции программирования (оо, рекурсию, циклы, функции, переменные и т.д.) Настолько хорошо, насколько сможете.

В качестве второго шага вы должны попытаться ответить на вопрос: "Что именно я хочу делать с программированием?" и это, конечно же, самое важное, это действительно так, когда вы делаете графику, когда делаете приложения DSP и когда занимаетесь веб-разработкой. Так что, поскольку алгоритмы обучения вообще без какой-либо конкретной цели иногда могут расстраиваться.

Поэтому наиболее важными элементами могут быть терпение и сосредоточенность, ведь Рим не был построен за один день... удачи

Ответ 2

Где я начинаю изучать алгоритмы?

Мне очень нравится Уди Манбер Введение в алгоритмы. В отличие от более популярных книг, например, Cormen Leiserson и Rivest, книга Манбера посвящена творческому решению проблем и процессу, с помощью которого возникают алгоритмы. Поэтому вместо того, чтобы читать энциклопедию алгоритмов, которые изобрели другие люди, и будучи озадачены тем, где на Земле они пришли, вы научитесь самостоятельно изобретать алгоритмы, и по пути вы сможете изобрести некоторые из стандартных, которые вы найдете в энциклопедиях.

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

Ответ 3

хорошо для вас.

Вы считали курсы в колледже? Обычно у вас есть классы классов алгоритмов.

Я нахожу, что сильный математический фон очень полезен, как в решении проблем, так и в навыках манипуляции базовыми числами. Многие из того, что вы делаете в программировании, основаны на математических принципах. Алгоритмы, которые вы в конечном итоге используете или создаете, будут проходить по типам программ, которые вы хотите записать.

Ответ 4

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

Рекомендация моей книги - "Практика программирования" Кернигана и Пайка, особенно если вы планируете учиться. Он не идет очень глубоко в алгоритмы, но на нескольких страницах он должен рассказать вам достаточно о дизайне и тестировании, что, когда вы практикуете, вы найдете, исправите и узнаете из многих своих ошибок и привыкнете писать программы что другие люди могут смотреть без гримаса.

Ответ 5

Из моего опыта: проблемы - приведут вас по пути, который вы выбрали, и языки помогут вам взглянуть на него с разных точек зрения. Если вы будете придерживаться только одного или двух языков, вы сможете продолжить, но вы пропустите много вещей на своем пути, что может помочь вам в будущем, что может дать вам удовольствие и т.д.
И... Есть гораздо больше вещей, которые вы можете сделать, помимо программирования. Не делайте "Я хочу программировать" в качестве вашей основной цели. Используйте "Я хочу решить проблему..." и "Я хочу использовать программирование для выполнения...". (т.е. не делайте слова своей целью)
Я думаю, что выбрал этот путь, потому что это было проще всего. Нет необходимости в тренировках каждый день, нет необходимости выполнять повторяемую работу, не нужно быть готовым к поездке на следующий день, не нужно предварительно загружать кучу материалов и так далее. Конечно, позже я обнаружил, что некоторые из этих вещей могут существовать даже там.

Ответ 6

В моем подходе к программированию я думаю, что собранная письменность Брайана Кернигана - самые влиятельные книги о том, как думать, как программист, с которым я столкнулся. На обложке "Практика программирования" есть слова:

  • Простота
  • Ясность
  • Общность

который, учитывая ваш интерес к Python, читается как короткая форма PEP 20. Алгоритмы - это средство для достижения цели, а также рецепты приготовления. Хотя это правда, что вы не можете делать хлеб, не зная о заботе и кормлении дрожжей, зная, что вы хотите, чтобы хлеб в первую очередь был целью. Несмотря на то, что книги Кернигана могут казаться безнадежно устаревшими, их объединяющие темы ремесленника говорят с изяществом, к которому стремятся лишь некоторые технические писатели.

Машины становятся настолько быстрыми, что формальное исследование (например, Кнута) алгоритмов действительно может сделать для компетентного механика, но это на самом деле легкая часть. То, на что должен стремиться ученик сегодняшнего дня, - это искусность поля, потому что именно здесь люди действительно в лучшем состоянии.

Ответ 7

Хорошо, лучшее решение, о котором я могу думать, - это просто зарегистрироваться на сайтах, таких как codeguru.com, и искать практики или присоединиться к группам программистов в вашем регионе. Таким образом, вы можете приобрести как выдержки, так и знания, которые вам понадобятся в будущем.

Ответ 8

Я не дам вам много предложений "сделай это", но несколько вещей:

  • Вы сами изучили Python, прислушайтесь, esp, когда никто вокруг вас не делает этого. Итак, у вас уже есть что-то хорошее. Продолжайте использовать этот материал для развития своей базы знаний.

  • Вы сказали, что вам 13 лет. Python может иметь книги, чтобы удовлетворить ваш уровень сложности, но определенно не алгоритмы. Алгоритмы - серьезный бизнес. В области алгоритмов и вокруг него есть хороший уровень математики. И нет никакого способа сделать это. Кроме того, книги по алгоритмам широко известны в промышленности, как трудно взломать книги. Спросите Билла Гейтса и Дона Кнута.

Итак, я бы сказал, если вы хотите изучать компьютеры, потому что вы любите учиться и тоску по знаниям, то я бы предложил, с одной стороны,

Вы на правильном пути, честно говоря, я не ожидаю, что 13-летняя девочка узнает об альго. Вы изучаете Py, у вас есть планы с C, С++, я бы сказал, отлично!

Укрепите свою математику. До тех пор, пока вы не захотите просто реализовать различные виды альго, а не поцарапать глубоко, вы можете это сделать. Но альгос не только об этом. Поэтому, если вы хотите удержать его, вам нужно изучить дискретную математику. Дискретная математика не придет к вам в 1 месяц, 2 месяца или даже 1 год. Будьте готовы ждать и предлагать свое время. Тем временем атакуйте математику, которая находится на грани вашей компетенции.

То же самое с algos. Будьте готовы посетить этот домен два или три раза в следующие пять лет. Каждый раз, когда существующая база знаний лучше дополняет ваши алгоритмы.

До тех пор, Soham