Архив интересного кода

Преподаватель из Стэнфордского университета Кейт Шварц (Keith Schwarz) уже несколько лет пополняет свой архив интересного кода — образцы самых лучших алгоритмов и структур данных, когда-либо изобретённых человечеством (Шварц весьма амбициозно оценивает свою коллекцию).

Примеры на сайте преимущественно закодированы в C++, поскольку этот язык лучше всего подходит для описания алгоритмов. Структуры данных реализованы на Java.

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

Каждый пример кода Кейт Шварц дополняет подробным комментарием, объясняя каждую строчку и все аспекты целой концепции.

В коллекции есть серьёзные вещи: алгоритм Дейкстры (Java) или вейвлет Хаара, а также просто интересные примеры кода, как игра «Змейка» (C++).

Работа Шварца только началась. Пока что готов лишь малая часть алгоритмов и структур данных, которые автор планирует обработать в будущем: см. его список TODO. По словам самого Кейта, список чаще увеличивается, чем сокращается. Жирным в списке отмечены алгоритмы, которые планируется реализовать в ближайшее время.

The Archive of Interesting Code

The Archive of Interesting Code is an (ambitious) effort on my part to research, intuit, and code up every interesting algorithm and data structure ever invented. In doing so, I hope both to learn the mathematical techniques that power these technologies and to improve my skills as a programmer.

The examples on this site are in a variety of languages. I generally prefer to use C++ for algorithms, since the STL provides a great framework for expressing algorithms that work on a variety of data types. I code up most data structures in Java, both because the Collections framework allows them to be integrated in seamlessly with other applications and because automatic garbage collection simplifies some of the resource management. Every now and then I'll find an algorithm or data structure that is best represented in a different language like Haskell, in which case I'll forgo my usual language conventions.

In case you're curious what I'm someday hoping to having implemented on this page, you can check out my TODO list.

If you're interested in using any of this code in your applications, feel free to do so! You don't need to cite me or this website as a source, though I would appreciate it if you did. However, please don't plagiarize the code here by claiming authorship - that would just be dishonest. I also caution you that while I'm fairly confident that the code on this site is correct, I haven't mercilessly tested every line, and so there may be a lurking bug or two here.

Enjoy!

Персоналии

Теги

Russian

Добавить комментарий

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
А не робот ли вы случайно?
10 + 7 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.