Advanced Data Structures in Java

  • 4.8
Approx. 29 hours to complete

Course Summary

Learn advanced data structures and algorithms to help you solve complex coding challenges and prepare for technical interviews.

Key Learning Points

  • Learn how to implement advanced data structures like Red-Black Trees and B-Trees
  • Understand how to analyze the time and space complexity of algorithms
  • Practice solving coding challenges and problems using advanced data structures

Job Positions & Salaries of people who have taken this course might have

    • USA: $96,000
    • India: ₹1,200,000
    • Spain: €35,000
    • USA: $96,000
    • India: ₹1,200,000
    • Spain: €35,000

    • USA: $117,000
    • India: ₹1,500,000
    • Spain: €40,000
    • USA: $96,000
    • India: ₹1,200,000
    • Spain: €35,000

    • USA: $117,000
    • India: ₹1,500,000
    • Spain: €40,000

    • USA: $85,000
    • India: ₹1,000,000
    • Spain: €30,000

Related Topics for further study


Learning Outcomes

  • Implement advanced data structures in your own coding projects
  • Analyze and optimize the time and space complexity of algorithms
  • Prepare for technical interviews with confidence

Prerequisites or good to have knowledge before taking this course

  • Proficiency in at least one programming language
  • Familiarity with basic data structures and algorithms

Course Difficulty Level

Advanced

Course Format

  • Online
  • Self-paced
  • Video Lectures

Similar Courses

  • Data Structures and Performance
  • Advanced Algorithms and Complexity

Related Education Paths


Related Books

Description

How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners?

Outline

  • Introduction to the Course
  • Welcome
  • Your path through this course
  • Concept challenges
  • Project Prototype
  • After completing this course, you will be able to ...
  • Is this course right for me?
  • If you want more practice before you begin...
  • The structure of this course
  • Welcome from the Google engineers
  • Project Overview
  • Setting up Java and Eclipse
  • Getting and Setting up the Starter Code
  • Project: Orientation to the Starter Code, Data Files and Front-end
  • Pre-course quiz
  • Survey: Your goals for the course
  • Course Structure and Starter Code Quiz (make sure you can run the starter code first)
  • Introduction to Graphs
  • Introduction
  • Project: Introduction to Graphs Project Overview
  • Core: What's a graph?
  • Core: Graph definitions
  • In the real world: Graphs at Google
  • In the real world: More graphs at Google
  • Core: Implementing graphs in Java
  • Core: Adjacency matrix
  • Core: Adjacency list
  • Concept Challenge: Comparing implementations of graphs
  • In the real world: Performance considerations
  • When I struggled: Analyzing implementations
  • Core: Neighbors
  • Support: Coding getNeighbors
  • Support: Coding 2-Hop Neighbors
  • Support: Multiplying Adjacency Matrices
  • Project: Programming Assignment Walkthrough
  • A note about week numbers
  • By the end of this week, you will be able to...
  • (Read only AFTER finishing Graphs Quiz)
  • Graph definitions and implementation: a glossary
  • Week 2: Additional Resources
  • Programming Assignment FAQ
  • Graph definitions and implementations Quiz Answer explanations (Read ONLY after you pass the quiz)
  • Graphs
  • Where to next?
  • Graph definitions and implementation
  • Class design and simple graph search
  • Introduction
  • Project: Route Finding Project Overview
  • Core: Intro to Class Design
  • When I struggled: Building useful classes
  • In the Real World: Design patterns
  • Core: DFS, Part 1
  • Core: DFS, Part 2
  • Core: BFS
  • Support: Developing Small Examples to Test Your Code
  • When I struggled: Data structures jargon
  • When I struggled: The right data structure for the job
  • Concept Challenge: Performance of DFS and BFS
  • Core: Class Design
  • When I struggled: If you fail to plan ...
  • When I struggled: ... but don't forget to start!
  • In the real world: Planning ahead with design
  • Core: Refactoring
  • Support: Where to start the project design?
  • In the Real World: Why is code refactored?
  • Project: Programming Assignment Walk-through
  • By the end of this week, you will be able to ...
  • Week 3: Additional Resources
  • End of Week Quiz Answers
  • Where to next?
  • End of Week Quiz (complete project and peer review first)
  • Finding shortest paths in weighted graphs
  • Introduction
  • Project: Shortest Path Overview
  • Core: Shortest Path with BFS
  • Core: Geographic Maps
  • Core: Dijkstra's Algorithm
  • Concept Challenge: Performance of Dijkstra's Algorithm
  • Core: A* Search Algorithm
  • When I struggled: Tackling large programming projects
  • When I Struggled: Remembering classical algorithms
  • Project: Shortest Path Programming Assignment Walkthrough
  • By the end of this week, you will be able to ...
  • Week 4: Additional Resources
  • Test cases and debugging guide for the quiz
  • End of Week Quiz Answers
  • End of Week Quiz (very short, do programming assignment first)
  • Route planning and NP-hard graph problems
  • Introduction
  • Core: Traveling Salesperson Problem (TSP)
  • Concept Challenge: An algorithm for TSP
  • Core: TSP Brute-Force Algorithm
  • Core: TSP Algorithm Running Time
  • Core: NP Hard
  • Core: Approximations and Heuristics
  • Core: Hamiltonian Graphs
  • Core: Eulerian graphs
  • Core: Eulerian graphs, an algorithm
  • Core: An application in bioinformatics
  • By the end of this week, you will be able to ...
  • Week 5: Additional Resources
  • End of Week Quiz Answers
  • End of Week Quiz
  • End of Course Project Extension
  • End of course message
  • Week 6 Introduction
  • Project: Week 6 Description -- REQUIRED EXTENSION
  • Week 6 Project Quiz (Complete your project extension first)

Summary of User Reviews

Discover advanced data structures and algorithms in this highly-rated course on Coursera. Students praise the depth of the material covered and the engaging teaching style of the instructor. One key aspect that many users thought was good is the practical application of the concepts covered in the course.

Pros from User Reviews

  • In-depth coverage of advanced data structures and algorithms
  • Engaging teaching style of the instructor
  • Practical application of concepts covered in the course
  • Challenging problem sets that help reinforce learning
  • Access to a supportive online community of learners

Cons from User Reviews

  • Some users found the course challenging and may require prior knowledge of data structures
  • Course materials may be overwhelming for beginners
  • The course can be time-consuming, requiring a significant time commitment
  • Some users found the pacing of the course to be too slow or too fast
  • Limited interaction with the instructor
English
Available now
Approx. 29 hours to complete
Leo Porter, Mia Minnes, Christine Alvarado
University of California San Diego
Coursera

Instructor

Leo Porter

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