Algorithms, Part I is an introduction to fundamental data types, algorithms, and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Specific topics covered include union-find algorithms; basic iterable data types (stack, queues, and bags); sorting algorithms (quicksort, mergesort, heapsort) and applications; priority queues; binary search trees; red-black trees; hash tables; and symbol-table applications.
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.
How to Enroll
What Learners Say
"This course is great! The lecture slides and the code from the course are well-organized and clean. The auto-grading is powerful because it not only checks the correctness or performance of the code, it also detects the improper coding ways. I've learned a lot of things from the course."
"This course contains the best lectures I've ever had about algorithms. Robert Sedgewick makes it really easy to understand the algorithms he is talking about and he doesn't limit the topics to basic entry level. The assignments were challenging but doable. For sure I learned a lot from this course. I would rate it 6 stars if it was possible."
"Fantastic course in data structures and algorithms, great introduction for those who haven't taken CS at university. Also leans towards the mathematical side versus pure programming while utilising some good programming exercises, so an interesting course from that angle too. Looking forward to Part II!"
"Thank you so much for this wonderful course! I taught mathematical analysis in university in Russia for several years and, of course, visited a lot of courses, learned a lot of things myself. I want to say that I saw nothing even remotely compared to this course in all my life. Excellent video lectures and absolutely superb practical material!" -Alex