Некоторые указатели на реализацию алгоритмов в коде - PullRequest
2 голосов
/ 29 апреля 2009

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

Я закончил писать свой собственный метод с помощью цикла, но он показался мне неэффективным или неправильным.

Есть ли у кого-нибудь рекомендации / материалы для чтения по реализации алгоритмов в коде?

Ответы [ 5 ]

4 голосов
/ 29 апреля 2009

Я считаю Project Euler полезным для такого рода вещей. Это заставляет вас думать об алгоритме, а затем реализовывать его. Во многих из этих вопросов идут обширные дискуссии о том, как решить проблему (от наивных решений до довольно изобретательных), которые вы можете использовать, чтобы увидеть, что вы сделали правильно и неправильно.

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

1 голос
/ 29 апреля 2009

Получите ваш алгоритм на основе теста. С помощью TDD я смог правильно написать гораздо более сложные алгоритмы, чем раньше.

1 голос
/ 29 апреля 2009

Зайдите на YouTube и посмотрите некоторые лекции по введению в алгоритмы. Есть несколько действительно хороших лекций, которые разбивают некоторые из наиболее распространенных алгоритмов, таких как ряды Фибоначчи и способы их оптимизации.

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

Начните с этой серии видео, в которой я нашел отличный материал по теме:

Алгоритмы лекции

1 голос
/ 29 апреля 2009

Обе эти вводные книги содержат хорошую информацию о таких вещах: Как разрабатывать программы и более Структура и интерпретация компьютерных программ

Оба ориентированы на некоторые функции (и схемы), но это естественно подходит для такого рода проблем.

Кроме того, вы можете получить немного от Project Euler

0 голосов
/ 29 апреля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...