Algorithms, Part I

  • 4.9
Approx. 54 hours to complete

Course Summary

This course is part 1 of a 2-part series on algorithms, covering elementary data structures, sorting, and searching algorithms. Students will learn how to analyze the performance of algorithms and how to implement them in Java.

Key Learning Points

  • Learn the basics of elementary data structures, sorting, and searching algorithms
  • Understand how to analyze the performance of algorithms
  • Implement algorithms in Java

Related Topics for further study


Learning Outcomes

  • Ability to implement and analyze the performance of basic data structures and algorithms
  • Understanding of sorting and searching algorithms
  • Proficiency in Java programming

Prerequisites or good to have knowledge before taking this course

  • Knowledge of basic programming concepts
  • Familiarity with Java programming

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Video Lectures

Similar Courses

  • Data Structures and Algorithms Specialization
  • Algorithms: Design and Analysis, Part 1
  • Introduction to Algorithms and Data Structures in C++

Related Education Paths


Notable People in This Field

  • Thomas H. Cormen
  • Donald E. Knuth
  • Steven S. Skiena

Related Books

Description

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.

All the features of this course are available for free. It does not offer a certificate upon completion.

Outline

  • Course Introduction
  • Course Introduction
  • Welcome to Algorithms, Part I
  • Union−Find
  • Dynamic Connectivity
  • Quick Find
  • Quick Union
  • Quick-Union Improvements
  • Union−Find Applications
  • Overview
  • Analysis of Algorithms
  • Analysis of Algorithms Introduction
  • Observations
  • Mathematical Models
  • Order-of-Growth Classifications
  • Theory of Algorithms
  • Memory
  • Stacks and Queues
  • Stacks
  • Resizing Arrays
  • Queues
  • Generics
  • Iterators
  • Stack and Queue Applications (optional)
  • Overview
  • Elementary Sorts
  • Sorting Introduction
  • Selection Sort
  • Insertion Sort
  • Shellsort
  • Shuffling
  • Convex Hull
  • Mergesort
  • Mergesort
  • Bottom-up Mergesort
  • Sorting Complexity
  • Comparators
  • Stability
  • Quicksort
  • Quicksort
  • Selection
  • Duplicate Keys
  • System Sorts
  • Priority Queues
  • APIs and Elementary Implementations
  • Binary Heaps
  • Heapsort
  • Event-Driven Simulation (optional)
  • Overview
  • Elementary Symbol Tables
  • Symbol Table API
  • Elementary Implementations
  • Ordered Operations
  • Binary Search Trees
  • Ordered Operations in BSTs
  • Deletion in BSTs
  • Interview Questions: Elementary Symbol Tables (ungraded)
  • Balanced Search Trees
  • 2−3 Search Trees
  • Red-Black BSTs
  • B-Trees (optional)
  • Overview
  • Interview Questions: Balanced Search Trees (ungraded)
  • Geometric Applications of BSTs
  • 1d Range Search
  • Line Segment Intersection
  • Kd-Trees
  • Interval Search Trees
  • Rectangle Intersection
  • Hash Tables
  • Hash Tables
  • Separate Chaining
  • Linear Probing
  • Hash Table Context
  • Overview
  • Symbol Table Applications
  • Symbol Table Applications: Sets (optional)
  • Symbol Table Applications: Dictionary Clients (optional)
  • Symbol Table Applications: Indexing Clients (optional)
  • Symbol Table Applications: Sparse Vectors (optional)

Summary of User Reviews

Discover the world of Algorithms with Coursera's Algorithms Part 1 course. This course has received overwhelmingly positive reviews from learners. Many users praise the course for its comprehensive coverage of algorithms and its engaging teaching style. Overall, the course is highly recommended for anyone who wants to learn more about algorithms and improve their problem-solving skills.

Key Aspect Users Liked About This Course

The course provides comprehensive coverage of algorithms and teaches learners how to apply these concepts in real-world scenarios.

Pros from User Reviews

  • Excellent course for beginners and experts alike
  • Great teaching style that engages learners throughout the course
  • Course materials are well-structured and easy to follow
  • Instructors are knowledgeable and responsive to learners' questions
  • The course provides a solid foundation for further study in the field of algorithms

Cons from User Reviews

  • Some learners found the pace of the course to be too fast
  • The course can be challenging for learners without a strong math background
  • The course requires a significant time commitment to complete
  • Some learners found the programming assignments to be too difficult
  • The course could benefit from more interactive elements and hands-on activities
English
Available now
Approx. 54 hours to complete
Kevin Wayne, Robert Sedgewick
Princeton University
Coursera

Instructor

Kevin Wayne

  • 4.9 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses