Informações sobre o curso
114,007 visualizações recentes

100% on-line

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 35 horas para completar

Sugerido: 6 weeks of study, 6–10 hours per week....

Inglês

Legendas: Inglês, Coreano

Habilidades que você terá

GraphsData StructureAlgorithmsData Compression

100% on-line

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 35 horas para completar

Sugerido: 6 weeks of study, 6–10 hours per week....

Inglês

Legendas: Inglês, Coreano

Programa - O que você aprenderá com este curso

Semana
1
10 minutos para concluir

Introduction

1 vídeo (Total 9 mín.), 2 leituras
1 vídeos
2 leituras
Welcome to Algorithms, Part II1min
Lecture Slides
2 horas para concluir

Undirected Graphs

6 vídeos (Total 98 mín.), 2 leituras, 1 teste
6 videos
Graph API14min
Depth-First Search26min
Breadth-First Search13min
Connected Components18min
Graph Challenges14min
2 leituras
Overview1min
Lecture Slides
1 exercício prático
Interview Questions: Undirected Graphs (ungraded)6min
9 horas para concluir

Directed Graphs

5 vídeos (Total 68 mín.), 1 leitura, 2 testes
5 videos
Digraph API4min
Digraph Search20min
Topological Sort 12min
Strong Components20min
1 leituras
Lecture Slides
1 exercício prático
Interview Questions: Directed Graphs (ungraded)6min
Semana
2
2 horas para concluir

Minimum Spanning Trees

6 vídeos (Total 85 mín.), 2 leituras, 1 teste
6 videos
Greedy Algorithm12min
Edge-Weighted Graph API11min
Kruskal's Algorithm12min
Prim's Algorithm33min
MST Context10min
2 leituras
Overview1min
Lecture Slides
1 exercício prático
Interview Questions: Minimum Spanning Trees (ungraded)6min
10 horas para concluir

Shortest Paths

5 vídeos (Total 85 mín.), 1 leitura, 2 testes
5 videos
Shortest Path Properties14min
Dijkstra's Algorithm18min
Edge-Weighted DAGs19min
Negative Weights21min
1 leituras
Lecture Slides
1 exercício prático
Interview Questions: Shortest Paths (ungraded)6min
Semana
3
7 horas para concluir

Maximum Flow and Minimum Cut

6 vídeos (Total 72 mín.), 2 leituras, 2 testes
6 videos
Ford–Fulkerson Algorithm6min
Maxflow–Mincut Theorem9min
Running Time Analysis8min
Java Implementation14min
Maxflow Applications22min
2 leituras
Overview
Lecture Slides
1 exercício prático
Interview Questions: Maximum Flow (ungraded)6min
2 horas para concluir

Radix Sorts

6 vídeos (Total 85 mín.), 1 leitura, 1 teste
6 videos
Key-Indexed Counting12min
LSD Radix Sort15min
MSD Radix Sort13min
3-way Radix Quicksort7min
Suffix Arrays19min
1 leituras
Lecture Slides
1 exercício prático
Interview Questions: Radix Sorts (ungraded)6min
Semana
4
2 horas para concluir

Tries

3 vídeos (Total 75 mín.), 2 leituras, 1 teste
3 videos
Ternary Search Tries22min
Character-Based Operations20min
2 leituras
Overview10min
Lecture Slides
1 exercício prático
Interview Questions: Tries (ungraded)6min
10 horas para concluir

Substring Search

5 vídeos (Total 75 mín.), 1 leitura, 2 testes
5 videos
Brute-Force Substring Search10min
Knuth–Morris–Pratt33min
Boyer–Moore8min
Rabin–Karp16min
1 leituras
Lecture Slides10min
1 exercício prático
Interview Questions: Substring Search (ungraded)6min
5.0
148 avaliaçõesChevron Right

18%

comecei uma nova carreira após concluir estes cursos

22%

consegui um benefício significativo de carreira com este curso

16%

recebi um aumento ou promoção

Principais avaliações do Alogarítimos, Parte II

por 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.

por 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.

Instrutores

Avatar

Robert Sedgewick

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

Kevin Wayne

Phillip Y. Goldman '86 Senior Lecturer
Computer Science

Sobre Universidade de Princeton

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....

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • 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.

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.