You must be logged in to take this course → LOGIN | REGISTER NOW
Data Structure and Algorithms
Video Description
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.
READ MOREIn this Learning Data Structures and Algorithms training course, expert author Rod Stephens will teach you how to analyze and implement common algorithms used. This course is designed for the absolute beginner, meaning no previous programming experience is required.
You will start by learning about the complexity theory and then jump into learning about numerical algorithms, including randomizing arrays, prime factorization, and numerical integration. From there, Rod will teach you about linked lists, such as singly linked lists, sorted, and doubly linked lists. This video tutorial also covers arrays, stacks and queues, and sorting. You will also learn about searching, hash tables, recursion, and backtracking algorithms. Finally, you will cover trees, balanced trees.
Expert author Robert Sedgewick start with 1d and 2d range searching, where the goal is to find all points in a given 1d or 2d interval. To accomplish this, we consider kd-trees, a natural generalization of BSTs when the keys are points in the plane (or higher dimensions). We also consider intersection problems, where the goal is to find all intersections among a set of line segments or rectangles.
We begin by describing the desirable properties of hash function and how to implement them in Java, including a fundamental tenet known as the uniform hashing assumption that underlies the potential success of a hashing application. Then, we consider two strategies for implementing hash tables—separate chaining and linear probing. Both strategies yield constant-time performance for search and insert under the uniform hashing assumption. Finally you will focuses on graph, minimum spanning trees,shortest paths, maximum flow and minimum cut.
Once you have completed this computer based training course, you will be fully capable of analyzing and implementing algorithms, as well as be able to select the best algorithm for various situations. Working files are included, allowing you to follow along with the author throughout the lessons
LESSCourse Curriculum
Chapter 1.Introduction | |||
1.Introduction And Course Overview | 00:04:00 | ||
Chapter 2.Complexity Theory | |||
2.Complexity Theory | 00:03:56 | ||
3.Big O Notation | 00:07:02 | ||
4.Typical Runtime Functions | 00:04:37 | ||
5.Comparing Runtime Functions | 00:05:27 | ||
6.P And NP | 00:04:04 | ||
Complexity Theory_Working files | 00:00:00 | ||
Chapter 3.Numerical Algorithms | |||
7.Random Numbers | 00:02:19 | ||
8.Linear Congruential Generators | 00:05:04 | ||
9.Randomizing Arrays – Part 1 | 00:03:47 | ||
10.Randomizing Arrays – Part 2 | 00:04:31 | ||
11.GCD | 00:04:09 | ||
12.LCM | 00:03:28 | ||
13.Prime Factorization – Part 1 | 00:04:59 | ||
14.Prime Factorization – Part 2 | 00:02:43 | ||
15.Finding Primes | 00:03:24 | ||
16.Testing Primality | 00:03:45 | ||
17.Numerical Integration | 00:05:11 | ||
Numerical Algorithms_Working files | 00:00:00 | ||
Chapter 4.Linked Lists | |||
18.Singly Linked Lists – Part 1 | 00:06:48 | ||
19.Singly Linked Lists – Part 2 | 00:02:22 | ||
20.Sorted Linked Lists | 00:03:22 | ||
21.Sorting With Linked Lists | 00:04:07 | ||
22.Doubly Linked Lists | 00:03:51 | ||
Linked Lists_Working files | 00:00:00 | ||
5.Arrays | |||
23.One-Dimensional Arrays | 00:05:10 | ||
24.Triangular Arrays – Part 1 | 00:04:13 | ||
25.Triangular Arrays – Part 2 | 00:03:17 | ||
26.Sparse Arrays – Part 1 | 00:05:27 | ||
27.Sparse Arrays – Part 2 | 00:03:19 | ||
Arrays_Working files | 00:00:00 | ||
Chapter 6.Stacks Queues | |||
28.Stacks | 00:02:32 | ||
29.Stack Algorithms | 00:03:26 | ||
30.Double Stacks | 00:02:08 | ||
31.Queues | 00:05:49 | ||
Stacks Queues_Working files | 00:00:00 | ||
Chapter 7.Sorting | |||
32.Sorting Algorithms | 00:03:03 | ||
33.Insertionsort | 00:06:27 | ||
34.Selectionsort | 00:04:46 | ||
35.Quicksort – Part 1 | 00:05:40 | ||
36.Quicksort – Part 2 | 00:07:55 | ||
37.Heapsort – Part 1 | 00:06:17 | ||
38.Heapsort – Part 2 | 00:05:21 | ||
39.Heapsort – Part 3 | 00:05:39 | ||
40.Mergesort – Part 1 | 00:03:55 | ||
41.Mergesort – Part 2 | 00:03:41 | ||
42.Bubblesort – Part 1 | 00:04:51 | ||
43.Bubblesort – Part 2 | 00:04:18 | ||
44.Countingsort – Part 1 | 00:04:45 | ||
45.Countingsort – Part 2 | 00:03:35 | ||
46.Sorting Summary | 00:02:51 | ||
Sorting_Working files | 00:00:00 | ||
Chapter 8.Searching | |||
47.Linear Search | 00:02:11 | ||
48.Binary Search | 00:05:15 | ||
49.Interpolation Search | 00:05:27 | ||
Searching_Working files | 00:00:00 | ||
Chapter 9.Hash Tables | |||
50.Hash Tables | 00:04:32 | ||
51.Chaining | 00:05:23 | ||
52.Open Addressing – Basics | 00:07:25 | ||
53.Open Addressing – Linear Probing | 00:04:48 | ||
54.Open Addressing – Quadratic Probing | 00:04:22 | ||
55.Open Addressing – Double Hashing | 00:05:55 | ||
Hash Tables_Working files | 00:00:00 | ||
Chapter 10.Recursion | |||
56.Recursion Basics | 00:05:37 | ||
57.Fibonacci Numbers | 00:06:08 | ||
58.Tower Of Hanoi | 00:06:08 | ||
59.Koch Curves | 00:04:32 | ||
60.Hilbert Curves | 00:04:32 | ||
61.Gaskets | 00:04:52 | ||
62.Removing Tail Recursion | 00:03:58 | ||
63.Removing Recursion With Stacks | 00:03:56 | ||
64.Fixing Fibonacci | 00:07:25 | ||
65.Selections | 00:04:15 | ||
66.Permutations | 00:04:12 | ||
Recursion_Working files | 00:00:00 | ||
Chapter 11.BackTracking Algorithms | |||
67.Backtracking | 00:06:03 | ||
68.The Eight Queens Problem – Part 1 | 00:06:00 | ||
69.The Eight Queens Problem – Part 2 | 00:04:03 | ||
70.The Eight Queens Problem – Part 3 | 00:03:48 | ||
71.The Knights Tour | 00:04:20 | ||
BackTracking Algorithms_Working files | 00:00:00 | ||
Chapter 12.Trees | |||
72.Tree Terms | 00:05:06 | ||
73.Binary Tree Properties | 00:06:25 | ||
74.Traversals – Preorder | 00:03:54 | ||
75.Traversals – Postorder | 00:02:57 | ||
76.Traversals – Inorder | 00:02:47 | ||
77.Traversals – Breadth-First | 00:02:57 | ||
78.Building Sorted Trees | 00:03:56 | ||
79.Editing Sorted Trees | 00:04:36 | ||
Trees_Working files | 00:00:00 | ||
Chapter 13.Balance Trees | |||
80.Search Trees – Algorithms 24-part Lecture Series | 00:16:55 | ||
81.Red-Black BSTs – Algorithms 24-part Lecture Series | 00:35:30 | ||
82.B-Trees – Algorithms 24-part Lecture Series | 00:10:37 | ||
Balance Trees_Working files | 00:00:00 | ||
Chapter 14.Geometric Applications Of BST | |||
83.Range Search – Algorithms 24-part Lecture Series | 00:08:52 | ||
84.Line Segment Intersection – Algorithms 24-part Lecture Series | 00:05:46 | ||
85.Kd-Trees – Algorithms 24-part Lecture Series | 00:29:07 | ||
86.Interval Search Trees – Algorithms 24-part Lecture Series | 00:13:47 | ||
87.Rectangle Intersection – Algorithms 24-part Lecture Series | 00:08:11 | ||
Geometric Applications Of BST_Working files | 00:00:00 | ||
Chapter 15.Hash Tables | |||
88.Hash Functions – Algorithms 24-part Lecture Series | 00:18:14 | ||
89.Separate Chaining – Algorithms 24-part Lecture Series | 00:07:28 | ||
90.Context | 00:10:10 | ||
91.Linear Probing – Algorithms 24-part Lecture Series | 00:14:37 | ||
92.Sets | 00:05:04 | ||
93.Dictionary Clients | 00:05:39 | ||
94.Indexing Clients | 00:07:52 | ||
95.Sparse Vectors | 00:07:41 | ||
Hash Tables_Working files | 00:00:00 | ||
Chapter 16.Undirected Graphs | |||
96.Introduction To Graphs | 00:09:32 | ||
97.Graph API | 00:14:47 | ||
98.Depth First | 00:26:22 | ||
99.Breadth First | 00:13:34 | ||
100.Connected Components | 00:18:56 | ||
101.Graph Challenges | 00:14:29 | ||
Chapter 17.Directed Graphs | |||
102.Introduction Directed Graphs | 00:08:30 | ||
103.Digraph API | 00:04:56 | ||
104.Digraph Search | 00:20:56 | ||
105.Topological Search | 00:12:54 | ||
106.Strong Components | 00:20:22 | ||
Chapter 18.Minimum Spanning Trees | |||
107.Introduction to MSTs – Algorithms 24-part Lecture Series | 00:04:04 | ||
108.Greedy Algorithm | 00:12:56 | ||
109.Edge Weighted Graph API | 00:11:15 | ||
110.Kruskal’s Algorithm | 00:12:28 | ||
111.Prims Algorithm | 00:33:15 | ||
112.MST Context – Algorithms 24-part Lecture Series | 00:10:34 | ||
Chapter 19.Shortest Paths | |||
113.Shortest Paths Introduction | 00:10:51 | ||
114.Shortest Path Properties – Algorithms 24-part Lecture Series | 00:14:46 | ||
115.Dijkstra Algorithm | 00:18:58 | ||
116.Edge Weighted DAG | 00:19:23 | ||
117.Negative Weights | 00:21:01 | ||
Chapter 20.Maximum Flow and Minimun Cut | |||
118.Introduction to Maxflow – Algorithms 24-part Lecture Series | 00:10:33 | ||
119.Ford Fulkerson algorithm | 00:06:32 | ||
120.Maxflow-Mincut Theorem – Algorithms 24-part Lecture Series | 00:09:39 | ||
121.Running Time analysis | 00:08:49 | ||
122.Java Implementation | 00:14:29 | ||
123.Maximum applications | 00:22:20 |
Course Reviews
No Reviews found for this course.