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

Основы обучения и структуры данных

Можете ли вы порекомендовать мне книгу или (лучше!) сайт со многими трудными проблемами и упражнениями о структурах данных?

Я уже отвечаю на вопросы проекта Эйлера, но эти вопросы касаются интересных, но необычных алгоритмов. Я едва использовал даже простое дерево. Может быть, есть сайт с упражнениями вроде: эй, вам нужно рассчитать это:.... Сделайте это, используя дерево. Теперь сделайте это, используя молнию. Загрузите решение C (Haskell, Lisp, даже Pascal или Fortress go). О, ваше решение так медленно!

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

4b9b3361

Ответ 2

Видео-лекции Национальной программы усовершенствованного обучения технологиям (NPTel) на Канал NPTEL Youtube. Они осуществляются семью ИИТ и Бангкором Индии (IISc Bangalore) из Индии и финансируются MHRD, правительством Индии.

Еще много технических лекций.

Ответ 3

Awesome free eBook - " Структуры данных и алгоритмы". Содержит реализацию общих алгоритмов в псевдокоде и в явном виде. Кроме того, неплохие и понятные схемы и графика.

Даже Джон Скит упомянул об этом в своем блоге.: -)

Кроме того, это менее 100 страниц книги (как вы знаете, много программистов не читают некоторые книги).

Ответ 4

Это должно быть дубликат.

Я бы рекомендовал открытый учебный сайт MIT здесь. Там алгоритмы курсов в разделе "Электротехника и информатика" каким-то образом вниз страницы.

6.006 - Introduction to Algorithms
6.046J - Introduction to Algorithms (SMA 5503)

Я рекомендую последнее. Материалы находятся на сайте. Видео, вероятно, лучше всего доступно с YouTube здесь - поиск "алгоритмов смены". учебник пользуется большим уважением. Третье издание просто выходит, второе издание соответствует курсу. Первое издание также было включено в состав Dr Dobbs Algorithms and Data Structures CD ROM.

У Niklaus Wirth есть книга Algorithms and Data Structures, доступная для загрузки с личного сайта . У меня есть версия для печати Modula 2, и хотя она не заменяет Cormen (или aho hopcroft ullman и т.д.), Это хорошая книга.

Ответ 5

Помимо вышеупомянутых Cormen, Leiserson и Rivest, есть также очень новая книга Питера Брасса, "Advanced Data Structures" . В C имеется относительно уродливый пример кода, и автор несколько фанатичен в отношении производительности (например, он не использует рекурсию), но теоретическое содержание этой книги является блестящим и уникальным, оно вряд ли пересекается с Cormen. Я ожидаю, что это станет классикой.

Ответ 6

Если вы хотите попрактиковаться, вы можете взглянуть на http://www.topcoder.com, они предлагают проблемы alorithm.

Ответ 7

http://www.youtube.com/watch?v=QMV45tHCYNI

CS 61B: Структуры данных - осень 2006 г.

Инструктор: Джонатан Шевчук

Основные динамические структуры данных, включая линейные списки, очереди, деревья и другие связанные структуры; массивы строк и хеш-таблицы. Управление хранением. Элементарные принципы разработки программного обеспечения. Абстрактные типы данных. Алгоритмы сортировки и поиска. Введение в язык программирования Java.

Также вы можете прочитать эту книгу для алгоритмов..

http://www.amazon.com/Data-Structures-Algorithms-Made-Easy/dp/1466304162

Ответ 8

Если вы хотите использовать просветительскую альтернативу для алгоритмов обучения, вы всегда можете попробовать: Рабхи Ф., Лапальме Г. Алгоритмы.. подход к функциональному программированию.

Авторы бросают вызов более традиционным методы обучения алгоритмов используя функциональное программирование контекста, а Haskell - как язык исполнения. Это ведет к меньше, яснее и элегантнее программы, которые позволяют программисту понимать сам алгоритм быстрее и использовать это понимание альтернативы решения. Размещение акцента на разработки программ, а не математические свойства алгоритмов, в книге используется последовательность примеры практического программирования для развиваться в решении проблем с читателями навыки, которые легко переносятся к парадигмам другого языка. К другим языковым парадигмам.

Что касается сайта с (жесткими) упражнениями, вы всегда можете попытаться решить, я рекомендую: spoj.

Ответ 9

Хороший учебник с упражнениями в конце кажется лучшим способом.

Ответ 10

В дополнение к действительно хорошему учебнику Введение в алгоритмы, третье издание, Cormen, Leiserson, Rivest и Stein, я бы очень рекомендовал смотреть онлайн-доступные видео лекций, предоставленных Лейсорсон в Массачусетском технологическом институте. Если у вас есть книга и лекции, это похоже на то, что вы учились в Массачусетском технологическом институте, -)

http://videolectures.net/mit6046jf05_introduction_algorithms/