Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Algorithms and Data Structures in Java - Part I
Introduction
1. Introduction (1:13)
2. Why to use data structures (3:54)
3. Data structures and abstract data types (3:58)
Arrays
5. Arrays introduction - basics (5:54)
6. Arrays introduction - operations (5:53)
7. Using arrays (9:51)
8. ArraysLists in Java (8:42)
Linked Lists
9. Linked lists theory - basics (7:08)
10. Linked list theory - operations (9:32)
11. Linked list theory - doubly linked lists (1:40)
12. Linked list theory - linked lists versus arrays (6:36)
13. Linked list implementation I (4:47)
14. Linked list implementation II (11:40)
15. Linked list implementation III (7:55)
16. Doubly linked list introduction (5:59)
17. Linked lists in java.util (8:14)
Stacks & Queues
18. Stack introduction (4:00)
19. Stacks in memory management ( stacks, heaps ) (7:23)
20. Stacks and recursive method calls (7:02)
21. Stack implementation with linked list I (7:28)
22. Stack implementation with linked list II (3:37)
23. Stack implementation with arrays (11:01)
24. Dijkstra's interpreter introduction (1:18)
25. Dijkstra's interpreter implementation (9:12)
26. Java built in java.util.Stack (5:09)
27. Queues introduction (5:12)
28. Queue implementation with linked list (9:43)
29. Java built in java.util.Queue (6:31)
Binary Search Trees
30. Binary search trees theory - basics (10:23)
31. Binary search trees theory - search, insert (4:25)
32. Binary search trees theory - delete (6:08)
33. Binary search trees theory - in-order traversal (4:25)
34. Binary search trees theory - running times (2:10)
35. Binary search trees implementation I - Node, Tree (7:02)
36. Binary search trees implementation II - insertion (9:55)
37. Binary search tree implementation III - maximum, minimum (7:24)
38. Binary search tree implementation IV - traversal (5:41)
39. Binary search tree implementation V - remove (9:25)
40. Binary search tree implementation VI - remove II (5:54)
41. Custom objects in a tree (6:44)
Balanced Trees: AVL Trees
42. AVL trees introduction - motivation (4:12)
43. AVL trees introduction - basics (5:21)
44. AVL trees introduction - height (8:44)
45. AVL trees introduction - rotations cases (10:17)
46. AVL trees introduction - illustration (10:50)
47. AVL trees introduction - sorting (3:38)
48. AVL implementation - Node and Tree (3:21)
49. AVL implementation - balance and height parameters (4:45)
50. AVL implementation - implementing the rotations (7:35)
51. AVL implementation - insertion I (6:03)
52. AVL implementation - insertion II (8:52)
53. AVL implementation - testing (3:19)
54. AVL tree remove introduction (6:35)
55. AVL tree remove implementation I (8:30)
56. AVL tree generic implementation (3:55)
Balanced Trees: Red-Black Trees
57. Red-black trees introduction - basics (10:38)
58. Red-black trees rotations- cases I (5:10)
59. Red-black trees rotations- cases II (4:25)
60. Red-black trees rotations- cases III (3:17)
61. Red-black trees rotations- cases IV (2:45)
62. Red-black trees introduction - example I (4:47)
63. Red-black trees introduction - example II (4:19)
64. Red-black tree versus AVL tree (3:25)
65. Red-black tree implementation I - Node class (4:28)
66. Red-black tree implementation II - traverse (2:06)
67. Red-black tree implementation III - insert (3:39)
68. Red-black tree implementation IV - rotate left - right (5:48)
69. Red-black tree implementation V - fixing the violations (9:51)
70. Red-black tree implementation VI - fixing the violations (5:52)
71. Red-black tree implementation VII - testing (1:59)
Splay Trees
72. Splay tree introduction I - basics (12:49)
73. Splay tree introduction II - example (3:52)
74. Splay tree implementation I - find, rotate (9:44)
75. Splay tree implementation II - spalying (5:50)
76. Splay tree implementation III - testing (3:34)
B-Trees
77. B-tree introduction - basics (13:01)
78. B-tree and external memory (4:07)
79. Disk access times (5:41)
80. B-tree introduction - search (2:46)
81. B-tree introduction - insertion (7:10)
82. B-tree introduction - deletion (5:30)
83. In-order traversal (4:06)
Binary Heaps
84. Priority queues introduction (8:13)
85. Heap introduction - basics (8:14)
86. Heap introduction - array representation (9:17)
87. Heap introduction - remove operation (4:43)
88. Heap introduction - heapsort (5:13)
89. Heap introduction - running times (5:05)
90. Other types of heaps - binomial and Fibonacci heap (2:59)
91. Heap implementation - insertion (7:10)
92. Heap implementation - get the minimum-maximum (6:33)
93. Heap implementation - heapsort (3:04)
94. Heap implementation - testing (2:10)
95. Heaps in java.util.PriorityQueue (8:33)
Hashtables
96. Associative array ADT (2:37)
97. Hashtables introduction - basics (9:04)
98. Hashtables introduction - collisions (6:59)
99. Hashtables introduction - load factor & dynamic resizing (6:03)
101. Chaining method summary (4:05)
102. Chaining implementation I - put (9:16)
103. Chaining implementation II - get (4:27)
104. Chaining implementation III - testing (8:00)
106. Linear probing summary (3:59)
107. Linear probing implementation I - put (5:32)
108. Linear probing implementation II - get (2:57)
109. Linear probing implementation III - testing (4:44)
111. Generic linear probing implementation I - basics (6:44)
112. Generic linear probing implementation II - get (4:14)
113. Generic linear probing implementation III - put (5:35)
114. Generic linear probing implementation IV - remove (6:26)
115. Generic linear probing implementation V - resize (5:29)
116. Generic linear probing implementation VI - testing (2:39)
117. Generic linear probing implementation - hashCode (2:05)
118. Maps in Java Collections (5:52)
90. Other types of heaps - binomial and Fibonacci heap
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock