Section 1 : Introduction to Algorithms

Lecture 1 Introduction copy 00:01:09 Duration
Lecture 2 Euclid's algorithm.mp4 00:04:50 Duration
Lecture 3 Bubble Sort algorithm.mp4 00:02:53 Duration
Lecture 4 Why study data structures & algorithms.mp4 00:03:10 Duration
Lecture 5 Correctness of an algorithm.mp4 00:01:36 Duration

Section 2 : Analysis of Algorithms

Lecture 1 Note on this section
Lecture 2 Introduction 00:03:20 Duration
Lecture 3 How to calculate the time complexity.mp4 00:02:52 Duration
Lecture 4 The RAM model of computation.mp4
Lecture 5 Time complexity of Bubble sort algorithm 00:03:02 Duration
Lecture 6 Pseudo code Bubble sort algorithm 00:03:25 Duration
Lecture 7 The Big O notation 00:03:26 Duration
Lecture 8 Using Big O notation Examples 00:04:41 Duration
Lecture 9 Comparison of running times 00:04:03 Duration

Section 3 : Basic Sorting and Search Algorithms

Lecture 1 Selection Sort 00:02:48 Duration
Lecture 2 Selection Sort Pseudocode 00:02:35 Duration
Lecture 3 Introduction to Insertion Sort 00:01:56 Duration
Lecture 4 Applying Insertion Sort algorithm to cue balls 00:02:08 Duration
Lecture 5 Insertion Sort Pseudocode
Lecture 6 O(n²) sorting algorithms - Comparison 00:02:00 Duration
Lecture 7 In place sorting
Lecture 8 Stable Vs Unstable Sorts 00:03:46 Duration
Lecture 9 Searching elements in an un ordered array 00:03:17 Duration
Lecture 10 Searching elements in an ORDERED array 00:02:34 Duration
Lecture 11 Searching elements in an ORDERED array - contd 00:05:48 Duration
Lecture 12 Inserting and Deleting items in an ORDERED arr 00:02:09 Duration
Lecture 13 Sorting any type of object 00:01:33 Duration
Lecture 14 Assignment

Section 4 : Linked Lists

Lecture 1 What is a Linked List 00:03:21 Duration
Lecture 2 Implementing a Linked List in Java 00:00:56 Duration
Lecture 3 Inserting a new Node 00:05:25 Duration
Lecture 4 Length of a Linked List 00:02:11 Duration
Lecture 5 Deleting the head node 00:02:11 Duration
Lecture 6 Searching for an Item 00:03:12 Duration
Lecture 7 Using java generics to parameterize the Linked
Lecture 8 Doubly Ended Lists 00:03:06 Duration
Lecture 9 Inserting data in a sorted Linked List 00:04:38 Duration
Lecture 10 Doubly Linked List. 00:06:29 Duration
Lecture 11 Remove - INTRODUCTION TO BRAINMEASURES PROCTOR
Lecture 12 Assignment

Section 5 : Stacks and Queues

Lecture 1 Stacks 00:02:41 Duration
Lecture 2 Abstract Data Types 00:00:37 Duration
Lecture 3 Implementing Stacks using Arrays 00:03:22 Duration
Lecture 4 Queues 00:02:32 Duration
Lecture 5 Queues using Arrays 00:05:30 Duration
Lecture 6 Double Ended Queues 00:01:59 Duration
Lecture 7 Double Ended Queues using Arrays 00:04:20 Duration
Lecture 8 Assignment

Section 6 : Recursion

Lecture 1 Introduction 00:04:33 Duration
Lecture 2 Understanding Recursion 00:03:04 Duration
Lecture 3 Tail recursion 00:02:48 Duration
Lecture 4 Tower of Hanoi 00:08:25 Duration
Lecture 5 Tower of Hanoi - Implementation 00:02:59 Duration
Lecture 6 Merge Sort 00:04:10 Duration
Lecture 7 Merge Sort - Pseudocode 00:04:25 Duration
Lecture 8 Merge Step - Pseudocode 00:04:32 Duration
Lecture 9 Time Complexity of Merge Sort 00:02:52 Duration
Lecture 10 Assignment

Section 7 : Binary Search Trees

Lecture 1 The Tree Data structure
Lecture 2 Binary Trees 00:03:34 Duration
Lecture 3 Binary Search Trees 00:02:02 Duration
Lecture 4 Finding an item in a Binary Search Tree 00:02:25 Duration
Lecture 5 Implementing the find method 00:03:03 Duration
Lecture 6 Inserting an item in a Binary Search Tree 00:03:34 Duration
Lecture 7 Deleting an Item Case 1 00:06:06 Duration
Lecture 8 Deleting an Item - Case 2 00:02:59 Duration
Lecture 9 Deleting an Item - Case 3 00:03:45 Duration
Lecture 10 Deleting an Item - Soft Delete 00:01:41 Duration
Lecture 11 Finding smallest & largest values 00:02:34 Duration
Lecture 12 Tree Traversal In Order 00:03:19 Duration
Lecture 13 Tree Traversal Pre Order 00:01:59 Duration
Lecture 14 Tree Traversal Post Order 00:00:57 Duration
Lecture 15 Unbalanced Trees Vs Balanced Trees 00:02:16 Duration
Lecture 16 Height of a Binary Tree 00:01:35 Duration
Lecture 17 Time Complexity of Operations on Binary Search 00:02:16 Duration
Lecture 18 Assignment

Section 8 : More Sorting Algorithms

Lecture 1 Introduction
Lecture 2 QuickSort 00:04:54 Duration
Lecture 3 QuickSort The partition step 00:02:22 Duration
Lecture 4 Shell Sort 00:05:27 Duration
Lecture 5 Shell Sort Example 00:03:28 Duration
Lecture 6 Counting Sort 00:04:51 Duration
Lecture 7 Radix Sort 00:02:28 Duration
Lecture 8 Bucket Sort 00:03:12 Duration
Lecture 9 Assignment

Section 9 : Heaps

Lecture 1 Introduction 00:04:07 Duration
Lecture 2 Deleting the root 00:01:54 Duration
Lecture 3 Inserting an item in a heap 00:01:59 Duration
Lecture 4 Heaps as Priority Queues 00:02:31 Duration
Lecture 5 Representing heaps using Arrays 00:01:56 Duration
Lecture 6 Heap Sort 00:02:30 Duration
Lecture 7 Building a heap 00:04:07 Duration
Lecture 8 Assignment

Section 10 : Hashtables

Lecture 1 Introduction 00:02:41 Duration
Lecture 2 Direct Access Tables 00:02:04 Duration
Lecture 3 Hashing 00:01:38 Duration
Lecture 4 Resolving collisions through chaining 00:04:17 Duration
Lecture 5 The Hash function 00:06:17 Duration
Lecture 6 Open Addressing to resolve collisions 00:02:59 Duration
Lecture 7 Strategies for Open Addressing 00:03:19 Duration
Lecture 8 Time Complexity Open Addressing
Lecture 9 Assignment