Show Sidebar
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Ultimate Data Structures & Algorithms: Part 1
Getting Started
1- Course Outline (2:52)
2- Source Code
Follow Me Around
Bonus: Redeem Your FREE Access to IntelliJ
The Big O Notation (16 m)
1- Introduction (0:24)
2- What is Big O (1:58)
3- O(1) (1:29)
4- O(n) (3:44)
5- O(n^2) (2:24)
6- O(log n) (2:39)
7- O(2^n) (0:50)
8- Space Complexity (2:32)
9- Cheat Sheet
Arrays (30 m)
1- Introduction (0:44)
2- Understanding Arrays (3:08)
3- Working with Arrays in Java (3:29)
4- Exercise- Array Class (2:51)
5- Solution- Creating the Class (3:19)
6- Solution- insert() (4:19)
7- Solution- removeAt() (4:50)
8- Solution- indexOf() (2:28)
9- Dynamic Arrays (3:48)
10- Arrays- Exercises
11- Summary (1:09)
Linked Lists (54 m)
1- Introduction (0:36)
2- What are Linked Lists (4:33)
3- Working with Linked Lists (3:24)
4- Exercise- Building a Linked List (1:25)
5- Solution- addLast (6:09)
6- Solution- addFirst (2:13)
7- Solution- indexOf (1:54)
8- Solution- contains (1:05)
9- Solution- removeFirst (4:23)
10- Solution- removeLast (4:40)
11- Implementing size() (4:15)
12- Converting Linked Lists to Arrays (2:10)
13- Cheat Sheets (1:12)
14- Arrays vs Linked Lists (3:21)
15- Types of Linked Lists (3:14)
16- Exercise- Reversing a Linked List (1:33)
17- Solution- Reversing a Linked List (9:00)
18- Exercise- Kth Node from the End (3:20)
19- Solution- Kth Node from the End (5:22)
20- Linked Lists- Exercises
21- Summary (1:12)
A Quick Note
Stacks (42 m)
1- Introduction (0:31)
2- What are Stacks (2:47)
3- Working with Stacks (2:21)
4- Exercise- Reversing a String (0:41)
5- Solution - Reversing a String (5:01)
6- Exercise- Balanced Expressions (2:54)
7- Solution- A Basic Implementation (5:17)
8- Solution- Supporting Other Brackets (3:36)
9- Solution- First Refactoring (4:09)
10- Solution- Second Refactoring (5:50)
11- Exercise- Building a Stack Using an Array (0:47)
12- Solution- Implementing a Stack Using an Array (8:18)
13- Stacks- Exercises
14- Summary (0:33)
Queues (53 m)
1- Introduction (0:26)
2- What are Queues (2:04)
3- Queues in Java (5:12)
4- Exercise- Reversing a Queue (1:06)
5- Solution- Reversing a Queue (2:17)
6- Exercise- Building a Queue Using an Array (2:03)
7- Solution- A Basic Implementation (6:32)
8- Solution- Circular Arrays (5:54)
9- Exercise- Implementing a Queue Using a Stack (0:55)
10- Solution- Building a Queue Using a Stack (7:43)
11- Priority Queues (1:53)
12- Exercise- Building a Priority Queue (3:57)
13- Solution- Building a Priority Queue (8:51)
14- Solution- Refactoring (3:02)
15- Queues- Exercises
16- Summary (0:57)
Hash Tables (68 m)
1- Introduction (0:26)
2- What are Hash Tables (2:44)
3- Working with Hash Tables (6:07)
4- Exercise- Find the First Non-repeated Character (0:54)
5- Solution- First Non-repeating Character (7:39)
6- Sets (2:23)
7- Exercise- First Repeated Character (0:32)
8- Solution- First Repeated Character (2:36)
9- Hash Functions (5:55)
10- Collisions (1:06)
11- Chaining (1:40)
12- Open Addressing- Linear Probing (2:41)
13- Open Addressing- Quadratic Probing (1:29)
14- Open Addressing- Double Hashing (3:20)
15- Exercise- Build a HashTable (2:36)
16- Solution- put() (6:07)
17- Solution- get() (4:29)
18- Solution- remove() (2:30)
19- Solution- Refactoring (11:04)
20- Hash Tables- Exercises
21- Summary (1:25)
22- Course Wrap Up (0:32)
23- Thank You
13- Solution- Building a Priority Queue
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock