• Post category:StudyBullet-13
  • Reading time:10 mins read


Algorithms and data strucutres + implementation in java | Time complexity and space complexity | Leetcode examples

What you will learn

Understand, implement and use different type of data structures

Be able to decide which data structure can be used for solving a problem or optimising an application

Understand, implement and use different type of algorithms

How to solve coding problems in technical interviews

How to calculate space and time complexities for your code

Description

In this course we will dive deep into data structures and algorithms and learn how to do they work, how to implement them in Java and how to use them for implementing and optimizing your application. we will also learn how to calculate time complexity and space complexity and how to decide which data structure or algorithm should be used for solving a specific problem.

We will also solve coding challenges from Leetcode to reinforce the data structures and algorithms knowledge and to explain how they can be used for solving coding problems efficiently.

Data structures and algorithms are two of the most important aspects of computer science, learning data structures and algorithms will help you become a better programmer, write more efficient code and solve problems quicker, that’s why Tech companies focus on data structures and algorithms in the technical interviews.


Get Instant Notification of New Courses on our Telegram channel.


Throughout this course we will cover everything you need to master data structures and algorithms, including:

  • Big O notation (time complexity and space complexity)
  • Arrays
  • Linked lists
  • Stacks
  • Heaps
  • Queues
  • Hashmaps
  • Tries
  • Trees (and tree traversal algorithms)
  • Graphs
  • Breadth first search and depth first search
  • Linear search
  • Binary search
  • Bubble sort
  • Quick sort
  • Selection sort
  • Insertion sort
  • Merge sort
  • Recursion

I am confident that you will like this course and that you will be a different programmer once you finish it, join me in this course and master data structures and algorithms!

English
language

Content

Introduction

Introduction
What is an algorithm
What are Data structures
Why programmers need algorithms and data structures

BigO Notation – time and space complexity

Time complexity
Space complexity
Time and space complexities quiz

Array

Introduction to arrays
Arrays example in Java
When to use arrays
Two dimentional arrays
Two dimensional array example in Java
Time complexity of array’s operations
Array’s coding challenge (with solution)
Arrays quiz

Linked list

Introduction to linked lists
Types of linked lists
Linked list’s operations and their time complexity
Linked list implementation in Java
Arrays vs linked lists and when to use each
Linked list’s coding challenge (with solution)
Linked list’s quiz

Stack

Introduction to stacks
Stack implementation in Java
Stack’s operations time complexity
Stack’s coding challenge (with solution)
Stack’s quiz

Queue

Introduction to queues
Queue implementation in Java
Queue’s operations time complexity
Queue’s coding challenge (with solution)
Queue’s quiz

Hashmap

Introduction to hashmaps
Hashmap’s operations time complexity
When to use hashmaps
Hashmap usecase in Java
Hashmap’s coding challenge (with solution)
Hashmap’s quiz

Tree

Introduction to trees
Types of tree
Tree’s depth
Tree’s traversal algorithms
Implementation of the tree and it’s traversal algorithms in Java
Tree’s coding challenge (with solution)
Tree’s quiz

Heap

Introduction to heaps
Heap implementation in Java
Heap’s operations time complexity
When to use heaps
Priority Queue in Java
Heap’s coding challenge (with solution)
Heap’s quiz

Graph

Introduction to graphs
Types of graphs
Time complexity of BFS and DFS for graphs
Applications of graphs
Graph implementation and usecase in Java
DFS implementation in Java
BFS implementation in Java
Graph’s coding challenge (with solution)
Graph’s quiz

Trie

Introduction to tries
Trie implementation in Java
Space and time complexity of the trie’s operations
Trie’s coding challenge (with solution)
Trie’s quiz

Searching algorithms

Introduction to searching algorithms
Linear search
Binary search
Linear search vs Binary search
Searching algorithms coding challenge (with solution)
Searching algorithms quiz

Sorting algorihtms

Introduction to sorting algorithms
Bubble sort
Quick sort
Selection sort
Insertion sort
Merge sort
Sorting algorithms coding challenge (with solution)
Sorting algorithms quiz

Recursion

Introduction to recursion
Recursion’s coding challenge (with solution)
Recursion’s quiz

What’s next ?

Conclusion and next steps