Introduction
Don't skip this! - Frequently Asked Questions & Answers of this Course
Time Complexity & Space Complexity - How to know the time of an algorithm?
Overview - What are we gonna cover about Time Complexity & Space Complexity?
Introduction - Why are these concepts so important?
What is Big O? + O(1) Algorithms - Constant Time
O(N) Algorithms - Example #1 - Linear Time
O(N) Algorithms - Example #2
O(N+M) Algorithms
O(N*M / N²) Algorithms
O(N² + N)? => O(N²) Algorithms
O(N³) Algorithms
O(logN) Algorithms
Big Omega
Big Theta
Space Complexity - Part #1
Space Complexity - Part #2
Coding Interview Question & Answer - Part I
Coding Interview Question & Answer - Part II
Conclusion
Quiz - What's the Big O of this algorithm?
[OPTIONAL] Installing Eclipse
Why Eclipse? Is it necessary?
Eclipse Installation in Windows
Eclipse installation in Linux
Eclipse installation in Mac
How to import the Downloadable Code examples in Eclipse
[OPTIONAL] Basics about Java Syntax
Introduction to Basics about Java Syntax section
How to read the variables declaration in Java
How to read a declaration of a method in Java
Type Object & Type T (Generic Type)
Two+ Methods with the same name
Recursion
Overview - Recursion
Why is Recursion important? Why is it useful?
Concept - Part #1
[Downloadable Code] recursive example
[OPTIONAL] Concept - Part #2
Concept - Part #3
[Downloadable Code] Sleep / Tell a Story Example
Multiplication - Easy Example - Part #1
Multiplication - Easy Example - Part #2
Simple Example: Factorial
How Recursion impacts Memory?
Recursive Solutions vs Iterative Solutions
Conclusion
Arrays & Strings
Overview - Arrays & Strings
Introduction
Linear Search / Sequential Search
Linear Search - Implementation
[Downloadable Code] LinearSearch Implementation
Binary Search / Dichotomous Search
Binary Search - Implementation - Part #1
Binary Search - Implementation - Part #2
[Downloadable Code] Binary Search Implementation
Mutable vs Immutable
Two dimensional arrays (Matrix)
Coding Interview Question - Permutation Problem
Coding Interview Answer - Permutation Problem - Solution #1
Coding Interview Answer - Permutation Problem - Solution #1 - TEST
[Downloadable Code] Coding Interview Answer - Permutation Problem - Solution #1
Coding Interview Answer - Permutation Problem - CONCEPTS for Solution #2
Coding Interview Answer - Permutation Problem - Solution #2 - PART ONE
Coding Interview Answer - Permutation Problem - Solution #2 - TEST & BUG FIXES!
Coding Interview Answer - Permutation - Solution #2 - Space & Space Complexity
Coding Interview Answer - Permutation Problem - Solution #2 - FINAL IMPROVEMENT
[Downloadable Code] Coding Interview Answer - Permutation Problem - Solution #2
Linked List
Overview - Linked List
Introduction - Internal Structure of a Linked List
How Linked Lists are stored in memory (RAM)
Linked Lists vs Arrays
Types of Linked Lists
Basic Structure of Linked List - Implementation
Searching in a Linked List - Theory
Searching in a Linked List - Implementation
[OPTIONAL] Searching in a Linked List - Testing the implementation
Inserting at the beginning of a Linked Link
Inserting at the beginning of a Linked Link - Implementation
Methods get() & printElements() in a Linked List - Implementation
[OPTIONAL] Inserting at the beginning of a Linked Link - Implementation (TEST)
Inserting at the end of a Linked List with a Tail pointer
Inserting at the end of a Linked List without a Tail pointer
Inserting at the end of a Linked List without a Tail pointer - Implementation
[OPTIONAL] Inserting at the end of a Linked List - TEST of the implementation
Inserting in the middle of a Linked List
Inserting in the middle of a Linked List - Implementation
[OPTIONAL] Inserting in the middle of a Linked List - TEST Implementation
Removing the first element of a Linked List
Removing the first element of a Linked List - Implementation
[OPTIONAL] Removing the first element of a Linked List - TEST Implementation
Removing the last element of a Linked List
Removing the last element of a Linked List - Implementation
[OPTIONAL] Removing the last element of a Linked List - TEST Implementation
Removing in the middle of a Linked List
Removing in the middle of a Linked List - Implementation
[OPTIONAL] Removing in the middle of a Linked List - TEST Implementation
[Downloadable Code] Linked List Implementation
ArrayList
What is an ArrayList?
How it works internally?
Most common operations
Stacks
Introduction to Stacks
Operations
How to implement an Stack from scratch? - Part #1
How to implement an Stack from scratch? - Part #2
How to use Stacks in Java
[Downloadable Code] Stack Implementation
Queues
Introduction to Queues
Operations
How to implement a Queue from scratch - Part #1
How to implement a Queue from scratch - Part #2
How to use Queues in Java
[Downloadable Code] Queue Implementation
Hashing & HashTables
Dictionary Example
Overview - Hashing & HashTables
Introduction
HashMap vs HashTable in Java - Part #1
HashMap vs HashTable in Java - Part #2
HashMap Operations
[OPTIONAL] HashTable/HashMap equivalent in Python, Javascript and Ruby
[OPTIONAL] HashTable/HashMap equivalent in C++
HashTables vs Arrays
How a Hash Table works internally? - Part #1
How a Hash Table works internally? - Part #2
How a Hash Table works internally? - Part #3
What is a Hash Function? How it works?
Collisions and how are they handled internally - Separate Chaining - Part #1
Collisions and how are they handled internally - Separate Chaining - Part #2
LinkedHashMap
TreeMap
HashSet (Not a Hash Table!)
HashTable Time Complexity & Space Complexity