Об этом курсе
Недавно просмотрено: 125,679

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Промежуточный уровень

Прибл. 34 часа на выполнение

Предполагаемая нагрузка: 6 weeks of study, 6–10 hours per week....

Английский

Субтитры: Английский, Корейский

Приобретаемые навыки

GraphsData StructureAlgorithmsData Compression

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Промежуточный уровень

Прибл. 34 часа на выполнение

Предполагаемая нагрузка: 6 weeks of study, 6–10 hours per week....

Английский

Субтитры: Английский, Корейский

Программа курса: что вы изучите

Неделя
1
10 минуты на завершение

Introduction

1 видео ((всего 9 мин.)), 2 материалов для самостоятельного изучения
1 видео
2 материала для самостоятельного изучения
Welcome to Algorithms, Part II1мин
Lecture Slides
2 ч. на завершение

Undirected Graphs

6 видео ((всего 98 мин.)), 2 материалов для самостоятельного изучения, 1 тест
6 видео
Graph API14мин
Breadth-First Search13мин
Connected Components18мин
Graph Challenges14мин
2 материала для самостоятельного изучения
Overview1мин
Lecture Slides
1 практическое упражнение
Interview Questions: Undirected Graphs (ungraded)6мин
9 ч. на завершение

Directed Graphs

5 видео ((всего 68 мин.)), 1 материал для самостоятельного изучения, 2 тестов
5 видео
Topological Sort 12мин
Strong Components20мин
1 материал для самостоятельного изучения
Lecture Slides
1 практическое упражнение
Interview Questions: Directed Graphs (ungraded)6мин
Неделя
2
2 ч. на завершение

Minimum Spanning Trees

6 видео ((всего 85 мин.)), 2 материалов для самостоятельного изучения, 1 тест
6 видео
Kruskal's Algorithm12мин
Prim's Algorithm33мин
MST Context10мин
2 материала для самостоятельного изучения
Overview1мин
Lecture Slides
1 практическое упражнение
Interview Questions: Minimum Spanning Trees (ungraded)6мин
10 ч. на завершение

Shortest Paths

5 видео ((всего 85 мин.)), 1 материал для самостоятельного изучения, 2 тестов
5 видео
Edge-Weighted DAGs19мин
Negative Weights21мин
1 материал для самостоятельного изучения
Lecture Slides
1 практическое упражнение
Interview Questions: Shortest Paths (ungraded)6мин
Неделя
3
7 ч. на завершение

Maximum Flow and Minimum Cut

6 видео ((всего 72 мин.)), 2 материалов для самостоятельного изучения, 2 тестов
6 видео
Running Time Analysis8мин
Java Implementation14мин
Maxflow Applications22мин
2 материала для самостоятельного изучения
Overview
Lecture Slides
1 практическое упражнение
Interview Questions: Maximum Flow (ungraded)6мин
2 ч. на завершение

Radix Sorts

6 видео ((всего 85 мин.)), 1 материал для самостоятельного изучения, 1 тест
6 видео
MSD Radix Sort13мин
3-way Radix Quicksort7мин
Suffix Arrays19мин
1 материал для самостоятельного изучения
Lecture Slides
1 практическое упражнение
Interview Questions: Radix Sorts (ungraded)6мин
Неделя
4
2 ч. на завершение

Tries

3 видео ((всего 75 мин.)), 2 материалов для самостоятельного изучения, 1 тест
3 видео
R-way Tries32мин
2 материала для самостоятельного изучения
Overview10мин
Lecture Slides
1 практическое упражнение
Interview Questions: Tries (ungraded)6мин
10 ч. на завершение

Substring Search

5 видео ((всего 75 мин.)), 1 материал для самостоятельного изучения, 2 тестов
5 видео
Boyer–Moore8мин
Rabin–Karp16мин
1 материал для самостоятельного изучения
Lecture Slides10мин
1 практическое упражнение
Interview Questions: Substring Search (ungraded)6мин
5.0
Рецензии: 135Chevron Right

16%

начал новую карьеру, пройдя эти курсы

17%

получил значимые преимущества в карьере благодаря этому курсу

Лучшие отзывы о курсе Алгоритмы, часть II

автор: IOJan 21st 2018

Pretty challenging course, but very good. Having a book is a must (at least it was for me), video lectures complement book nicely, and some topics are explained better in the Algorithms, 4th ed. book.

автор: AKApr 17th 2019

Amazing course! Loved the theory and exercises! Just a note for others: Its part 1 had almost no dependency on book, but this part 2 has some dependency (e.g. chapter on Graph) on book as well.

Преподаватели

Avatar

Robert Sedgewick

William O. Baker *39 Professor of Computer Science
Computer Science
Avatar

Kevin Wayne

Phillip Y. Goldman '86 Senior Lecturer
Computer Science

О Принстонский университет

Princeton University is a private research university located in Princeton, New Jersey, United States. It is one of the eight universities of the Ivy League, and one of the nine Colonial Colleges founded before the American Revolution....

Часто задаваемые вопросы

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

  • No. All features of this course are available for free.

  • No. As per Princeton University policy, no certificates, credentials, or reports are awarded in connection with this course.

  • Our central thesis is that algorithms are best understood by implementing and testing them. Our use of Java is essentially expository, and we shy away from exotic language features, so we expect you would be able to adapt our code to your favorite language. However, we require that you submit the programming assignments in Java.

  • Part II focuses on graph and string-processing algorithms. Topics include depth-first search, breadth-first search, topological sort, Kosaraju−Sharir, Kruskal, Prim, Dijkistra, Bellman−Ford, Ford−Fulkerson, LSD radix sort, MSD radix sort, 3-way radix quicksort, multiway tries, ternary search tries, Knuth−Morris−Pratt, Boyer−Moore, Rabin−Karp, regular expression matching, run-length coding, Huffman coding, LZW compression, and the Burrows−Wheeler transform.

    Part I focuses on elementary data structures, sorting, and searching. Topics include union-find, binary search, stacks, queues, bags, insertion sort, selection sort, shellsort, quicksort, 3-way quicksort, mergesort, heapsort, binary heaps, binary search trees, red−black trees, separate-chaining and linear-probing hash tables, Graham scan, and kd-trees.

  • Weekly programming assignments and interview questions.

    The programming assignments involve either implementing algorithms and data structures (graph algorithms, tries, and the Burrows–Wheeler transform) or applying algorithms and data structures to an interesting domain (computer graphics, computational linguistics, and data compression). The assignments are evaluated using a sophisticated autograder that provides detailed feedback about style, correctness, and efficiency.

    The interview questions are similar to those that you might find at a technical job interview. They are optional and not graded.

  • This course is for anyone using a computer to address large problems (and therefore needing efficient algorithms). At Princeton, over 25% of all students take the course, including people majoring in engineering, biology, physics, chemistry, economics, and many other fields, not just computer science.

  • The two courses are complementary. This one is essentially a programming course that concentrates on developing code; that one is essentially a math course that concentrates on understanding proofs. This course is about learning algorithms in the context of implementing and testing them in practical applications; that one is about learning algorithms in the context of developing mathematical models that help explain why they are efficient. In typical computer science curriculums, a course like this one is taken by first- and second-year students and a course like that one is taken by juniors and seniors.

Остались вопросы? Посетите Центр поддержки учащихся.