Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
From 0 to 1: Data Structures & Algorithms in Java
Rating: 4.5 out of 5(1,370 ratings)
12,598 students

From 0 to 1: Data Structures & Algorithms in Java

Learn so you can see it with your eyes closed
Created byLoony Corn
Last updated 4/2019
English

What you'll learn

  • Visualise - really vividly imagine - the common data structures, and the algorithms applied to them
  • Pick the correct tool for the job - correctly identify which data structure or algorithm makes sense in a particular situation
  • Calculate the time and space complexity of code - really understand the nuances of the performance aspects of code

Course content

17 sections67 lectures14h 58m total length
  • You, This course and Us2:00

    A short intro to this course and what you can expect at the end of the course.

Requirements

  • Basic knowledge of programming is assumed, preferably in Java

Description

This is an animated, visual and spatial way to learn data structures and algorithms

  • Our brains process different types of information differently - evolutionarily we are wired to absorb information best when it is visual and spatial i.e. when we can close our eyes and see it
  • More than most other concepts, Data Structures and Algorithms are best learnt visually. These are incredibly easy to learn visually, very hard to understand most other ways
  • This course has been put together by a team with tons of everyday experience in thinking about these concepts and using them at work at Google, Microsoft and Flipkart

What's Covered:

  • Big-O notation and complexity
  • Stacks
  • Queues
  • Trees
  • Heaps
  • Graphs and Graph Algorithms
  • Linked lists
  • Sorting
  • Searching

Who this course is for:

  • Yep! Computer Science and Engineering grads who are looking to really visualise data structures, and internalise how they work
  • Yep! Experienced software engineers who are looking to refresh important fundamental concepts