Как я изучаю алгоритмы? [закрытый]

19
задан PGSystemTester 9 June 2018 в 16:17
поделиться

8 ответов

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

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

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

9
ответ дан 30 November 2019 в 04:44
поделиться

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

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

2
ответ дан 30 November 2019 в 04:44
поделиться

С чего начать изучение алгоритмов?

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

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

6
ответ дан 30 November 2019 в 04:44
поделиться

Я не буду давать вам много советов типа «сделай-то-сделай-то», но кое-что:

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

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

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

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

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

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

А пока, Сохам

0
ответ дан 30 November 2019 в 04:44
поделиться

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

0
ответ дан 30 November 2019 в 04:44
поделиться

молодец.

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

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

2
ответ дан 30 November 2019 в 04:44
поделиться

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

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

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

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

1
ответ дан 30 November 2019 в 04:44
поделиться

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

1
ответ дан 30 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: