Итак, есть два кандидата на прочтение
1. Дональд Кнут, всё, вроде подробно, но несколько устарело
2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть?
Здравствуйте, VovkaMorkovka, Вы писали: VM>Итак, есть два кандидата на прочтение VM>1. Дональд Кнут, всё, вроде подробно, но несколько устарело
Начни, но долеко не факт, что тебе понравится. На мой взгляд, читать его интереснее, когда у тебя есть конкретная задача — и ты ищешь ее решение.
VM>2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть?
IIRC это уже стопроцентный справочник и читать его, как книгу, неинтересно.
Здравствуйте, Mr.Cat, Вы писали:
MC>Начни, но долеко не факт, что тебе понравится. На мой взгляд, читать его интереснее, когда у тебя есть конкретная задача — и ты ищешь ее решение.
Собственно уже начал, но напрягает MIXAL, с одной стороны явно устарел, с другой — же без его усвоения имхо будет неполным изучение.
Думаю писать на питоне и на с там, где речь идёт о создании очередей, списков и т.п.
VM>>2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть? MC>IIRC это уже стопроцентный справочник и читать его, как книгу, неинтересно.
Ну там есть задачи, однако вопрос стоит так: насколько много они дают в плане новых идей?
Собственно на первом месте обучение мышлению, алгоритмы на втором т.к. если думать не умеешь, то готовое решение из справочника поможет слабо.
Если — же владеешь подходом, то любую задачу расколешь как орех если даже придётся в справочник заглянуть
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Собственно уже начал, но напрягает MIXAL, с одной стороны явно устарел, с другой — же без его усвоения имхо будет неполным изучение. VM>Думаю писать на питоне и на с там, где речь идёт о создании очередей, списков и т.п.
Может тебе лучше подойдет "Алгоритмы. Построение и анализ" Кормена, конечно не так фундаментально как Кнут, но и не справочник.
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Ну там есть задачи, однако вопрос стоит так: насколько много они дают в плане новых идей?
VM>Собственно на первом месте обучение мышлению, алгоритмы на втором т.к. если думать не умеешь, то готовое решение из справочника поможет слабо. VM>Если — же владеешь подходом, то любую задачу расколешь как орех если даже придётся в справочник заглянуть
Изучай функциональщину, на мышление и в плане новых идей подействует сильнее чем алогритмы.
При этом желательно изучать достаточно глубоко, немного захватывая и математику лежащую в основе, например в объеме первой части "Функциональное программирование" Филда и Харрисона, хотя начать лучше с SICP ("Структура и интерпретация компьютерных программ").
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Итак, есть два кандидата на прочтение VM>1. Дональд Кнут, всё, вроде подробно, но несколько устарело
Там кроме его чудо-ассемблера практически ничего не устарело (ну разве что еще глава про менеджеры памяти).
VM>2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть?
Это мне не очень понравилось, как-то неувлекательно написано
Короче, я бы из предложенного выбрал Кормена а потом Кнута.
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Итак, есть два кандидата на прочтение VM>1. Дональд Кнут, всё, вроде подробно, но несколько устарело VM>2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть?
Ты подожди, не торопись. С таким делом наобум нельзя. Вдруг что не то прочитаешь?
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Итак, есть два кандидата на прочтение VM>1. Дональд Кнут, всё, вроде подробно, но несколько устарело
Прочитать Кнута явно нужно, главный вопрос — как.
Можно кропотливо разбирать каждый алгоритм и решать все упражнения по разделу.
Но, на мой вгляд, для начала разумнее прочитать поверхностно, не вдаваясь в детали.
Это займёт на порядок меньше времени, и в голове останется общая структура томов, что позволит потом, когда всплывёт конкретная задача, вернуться к этой теме и изучить её досконально.
VM>2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть?
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Итак, есть два кандидата на прочтение VM>1. Дональд Кнут, всё, вроде подробно, но несколько устарело VM>2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть?
VovkaMorkovka wrote:
> 1. Дональд Кнут, всё, вроде подробно, но несколько устарело
Кнут -- книга крайне практически малополезная.
Её можно читать либо для развлечения и тренировки
мозга, либо если там нашёл что-то такое специфическое,
что тебе важно. Ахо, Хопкрофт, Ульман — такая же классика,
как и Кнут, если не лучше, но гораздо более полезная.
FR wrote:
> Может тебе лучше подойдет "Алгоритмы. Построение и анализ" Кормена, > конечно не так фундаментально как Кнут, но и не справочник.
Не так фундаментально ? Ну-ну...
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Итак, есть два кандидата на прочтение VM>1. Дональд Кнут, всё, вроде подробно, но несколько устарело VM>2. Ахо, Хопкрофт, Ульман Структуры данных и Алгоритмы — что прочесть?
Я тут постил список книг по алгоритмам.
Но сейчас поисковая система не работает, поэтому повторяю.
Литература
Основная
1. Кнут Д. Искусство программирования, том 1. Основные алгоритмы, 3 изд.: Пер. с англ.: Уч. пос. — М.: Издательский дом «Вильямс», 2000.
2. Кнут Д. Искусство программирования, том 2.Получисленные алгоритмы, 3 изд.: Пер. с англ.: Уч. пос. — М.: Издательский дом «Вильямс», 2001.
3. Кнут Д. Искусство программирования, том 3. Сортировка и поиск, 2 изд.: Пер. с англ.: Уч. пос. — М.: Издательский дом «Вильямс», 2000.
4. Кормен Т., Лейзерсон Ч., Ривест Р., Стайн К. Алгоритмы. Построение и анализ. — М.: ИД «Вильямс», 2005.
5. Сэджвик Р. Фундаментальные алгоритмы на С++. Анализ / Структуры данных / Сортировка / Поиск. /Пер. с англ. — Киев.: Издательство «ДиаСофт», 2001.
6. Сэджвик Р. Фундаментальные алгоритмы на С++. Алгоритмы на графах: Пер. с англ. – СПб.: ООО «ДиаСофтЮП», 2002.
7. Дж. Макконнелл. Основы современных алгоритмов. 2-е дополненное издание. — М.: Техносфера, 2004.
8. А.В. Левитин. Алгоритмы: введение в разработку и анализ.: Пер. с англ. — М.: Издательский дом «Вильямс», 2006.
Литература для обеспечения лабораторных работ
14. Джосьютис Н. С++. Стандартная библиотека./Пер. с англ. — СПб.:Питер, 2004.
15. Коллинз У.Дж. Структуры данных и стандартная библиотека шаблонов. — М.: ООО "Бином-Пресс", 2004.
Дополнительная
16. Кнут Д. Искусство программирования, том 4, выпуск 2. Генерация всех кортежей и перестановок. : Пер. с англ. — М.: ООО «И. Д. Вильямс», 2008.
17. Кнут Д. Искусство программирования, том 4, выпуск 3: генерация всех сочетаний и разбиений: Пер. с англ. — М.: ООО «И. Д. Вильямс», 2007.
18. Кнут Д. Искусство программирования, том 4, выпуск 4. Генерация всех деревьев. История комбинаторной генерации: Пер. с англ. — М.: ООО «И. Д. Вильямс», 2007.
19. Бакнелл Дж. Фундаментальные алгоритмы и структуры данных в Delphi. Библиотека программиста. — М.: ООО «ДиасСофтЮП»; СПб.: Питер, 2006.
20. Мозговой М.В. Классика программирования: алгоритмы, языки, автоматы, компиляторы. Практический подход. — СПб.: Наука и техника, 2006.
21. Красиков И.В., Красикова И.Е. Алгоритмы. Просто как дважды два. — М.: Эксмо, 2006.
22. Каррано Ф.М., Причард Дж.Дж. Абстракция данных и решение задач на С++. Стены и зеркала, 3-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003.
23. Браунси Кен. Основные концепции структур данных и реализация в С++.: Пер. с англ. – М.: Издательский дом «Вильямс», 2002.
24. Окулов С.М. Программирование в алгоритмах. — М.: Бином. Лаборатория знаний, 2004.
25. Фридман А., Кландер Л., Михаэлис М., Шилдт Х. С/С++. Архив программ – М.: ЗАО «Издательство БИНОМ», 2001.
26. Хэзфилд Р., Кирби Л. и др. Искусство программирования на С. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста: Пер. с англ. – К.: Издательство «ДиаСофт», 2001.
27. Ахо А., Хопкрофт Д., Ульман Дж. Структуры данных и алгоритмы. — М.: ИД «Вильямс», 2000.
28. Шилдт. Г. Теория и практика С++: пер. с англ. — СПб.: BHV — Санкт-Петербург, 2000.
29. Стивенс Р. Visual Basic. Готовые алгоритмы: Пер. с англ. — М.: ДМК Пресс, 2000.
30. Бентли Дж. Жемчужины программирования. 2-е изд. — СПб.: Питер, 2002.
31. Шень А. Программирование: теоремы и задачи. — М,: МЦНМО, 1995.
32. Вирт Н. Алгоритмы + данные = программы. — М.: Мир, 1985.
33. Вирт Н. Алгоритмы и структуры данных. — М.: Мир, 1989.
34. Лорин Г. Сортировка и системы сортировки. — М.: Изд-во Наука, Главная редакция физ.-мат. литературы, 1983.
35. Кристофидес Н. Теория графов. Алгоритмический подход. — М.: Мир, 1978.
36. Новиков Ф.А. Дискретная математика для программистов. — СПб.: Питер, 2000.
37. Хопкрофт Д.Э, Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений, 2-е изд.: Пер. с англ. — М.: Издательский дом «Вильямс», 2002.
38. Андерсон Дж.А. Дискретная математика и комбинаторика: Пер. с англ. — М.: Издательский дом «Вильямс», 2003.
39. Грэхем Р., Кнут Д., Паташник О. Конкретная математика. Основание информатики. — М.: Мир, 1998.
40. Грин Д., Кнут Д. Математические методы анализа алгоритмов. — М.: Мир, 1987.
41. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи: Пер. с англ. — М.: Мир, 1982.
42. Ахо А., Хопрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.
43. Смит Б. Методы и алгоритмы построений на строках: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2006.
Из основной — рекомендую Сэджвика. Все на С++ и все работает.
Макконелл и Левитин — неплохие учебники. На псевдокоде алгоритмы описывают (как и Кормен).
Рекомендую также книжку Вирта 32. Скоро выйдет ее последняя версия — на обероне.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>25. Фридман А., Кландер Л., Михаэлис М., Шилдт Х. С/С++. Архив программ – М.: ЗАО «Издательство БИНОМ», 2001. LVV>28. Шилдт. Г. Теория и практика С++: пер. с англ. — СПб.: BHV — Санкт-Петербург, 2000.
S>Сэджвик не освобождает память, выделенную через new[]. Например в "3-7 Coin-flipping simulation". Да еще пишет, что вектор ему не сдался .
Ну так чего хочешь, Валерий же порекомендовал
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
S>>Сэджвик не освобождает память, выделенную через new[]. Например в "3-7 Coin-flipping simulation". Да еще пишет, что вектор ему не сдался .
У Седжвика есть так же книги по алгоритмам на Джаве.