Простые учебные руководства по алгоритму? [закрытый]

flagRequestTouchExplorationMode включил режим исследования касаний, который влияет на то, как ваше устройство реагирует на прикосновения.

26
задан mdb 24 November 2008 в 06:26
поделиться

13 ответов

Рекурсия - это языковая функция, а не «алгоритм» как таковой. Вся рекурсия может быть заменена соответствующими структурами данных (например, стеком).

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

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

0
ответ дан 28 November 2019 в 07:18
поделиться

Поиск решений в задачах topcoder - очень хороший способ подобрать алгоритмы. Одно только чтение теории не поможет

1
ответ дан 28 November 2019 в 07:18
поделиться

Я бы начал с хранилища алгоритма Стоуни-Брука . На сайте есть несколько действительно хороших объяснений различных типов алгоритмов, и он ссылается на то, какие книги и другие ресурсы он использует, чтобы вы могли почувствовать вкус того, что доступно.

2
ответ дан 28 November 2019 в 07:18
поделиться

Рекурсия действительно не является алгоритмом. Так как у Вас ничего нет конкретным, Вы интересуетесь, я предположил бы, что Вы читаете Список Википедии alorithms или как другие предположили, захватывают книгу.

3
ответ дан 28 November 2019 в 07:18
поделиться

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

Вы изучаете Алгоритмы, выполняя их. Так что найдите ресурс, который предоставляет алгоритмы задач и рекомендации по их решению. Если вам нужен учебник, ознакомьтесь с Руководством по разработке алгоритмов, в котором также имеется онлайн-хранилище алгоритмов . Если вы предпочитаете онлайн-курс, то Udacity предлагает курс по алгоритмам на основе Python, а Coursera предлагает общие и курсы на основе Java .

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

algorithm design manual learneroo screenshot

4
ответ дан 28 November 2019 в 07:18
поделиться

OCW из MIT имеет видеолекций курса «Алгоритм». Профессор является одним из авторов книги «Введение в алгоритмы», которую предложил другой автор.

Это предполагает базовые знания дискретной математики.

6
ответ дан 28 November 2019 в 07:18
поделиться

Если Вы хотите изучить алгоритмы , эта книга является лучшим выбором.

alt text
(источник: mcgraw-hill.com )

8
ответ дан 28 November 2019 в 07:18
поделиться

Я предлагаю вам начать с алгоритмов сортировки. Прочитайте соответствующую страницу википедии , пропустите материал O (n log n) и сосредоточьтесь на реализации, скажем, сортировки вставкой, сортировки слиянием и быстрой сортировки. Ознакомьтесь с бинарным поиском . Кроме того, узнайте о некоторых базовых структурах данных , таких как векторы, связанные списки, стеки, их реализация и для чего они полезны. (Чаще всего алгоритм решения проблемы сочетается с подходящей структурой данных.) Если вы уверены в различных алгоритмах и структурах данных, вы можете погрузиться в более полный трактат, такой как книга Кормена и др. и др.

Что касается рекурсии, то это не алгоритм сам по себе. Вместо этого это методика, которую используют некоторые алгоритмы для решения проблемы, когда последняя может быть естественным образом разбита на подзадачи. Техника разделения задачи, решения подзадач по отдельности и последующего объединения их решений для получения решения исходной задачи называется «разделяй и властвуй» или «разделяй и властвуй». (Рекурсия также является родственной функцией большинства языков программирования, где она в основном означает «функции, которые вызывают себя».) это тот, чтобы вычислить факториалы. Не против этого. Вместо этого прочитайте о проблеме Ханойская башня , которая допускает простое и элегантное рекурсивное решение, и снова изучите некоторые алгоритмы сортировки, поскольку многие из них действительно рекурсивны.

1
ответ дан 28 November 2019 в 07:18
поделиться

Я начал бы путем взгляда на EternallyConfuzzled, который содержит большие учебные руководства для Структур основных данных Алгоритмы включая связанные списки и деревья двоичного поиска, сортируя и ища алгоритмы. Если бы Вы хотите узнать больше после этого я рекомендовал бы следующие книги в порядке увеличивающейся сложности, полноты и требуемого математического знания:

12
ответ дан 28 November 2019 в 07:18
поделиться

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

0
ответ дан 28 November 2019 в 07:18
поделиться

One of my favorite list of algorithm problems is Project Euler, they are pretty diverse and you can solve the same problem many times for optimizations, and you will find lots of communities (C++, C#, Python, ... etc) posting their benchmarks for every problem

It is so much fun, geek fun

0
ответ дан 28 November 2019 в 07:18
поделиться

To the various people who have commented that book xyz is not simple, I'd point out that algorithmics is not a simple topic. You need at least university entry level mathematics to understand the concepts plus the ability to reason about computation at a suitably abstract level. If you ever find an "Algorithmics for Dummies" book, don't waste your money!

1
ответ дан 28 November 2019 в 07:18
поделиться

TopCoder есть несколько хороших руководств по алгоритмам .

4
ответ дан 28 November 2019 в 07:18
поделиться
Другие вопросы по тегам:

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