#### Section 1 : Introduction to Algorithms

 Lecture 1 Introduction copy 1:9 Lecture 2 Euclid's algorithm.mp4 4:50 Lecture 3 Bubble Sort algorithm.mp4 2:53 Lecture 4 Why study data structures & algorithms.mp4 3:10 Lecture 5 Correctness of an algorithm.mp4 1:36

#### Section 2 : Analysis of Algorithms

 lecture 6 Note on this section Text Lecture 7 Introduction 3:20 Lecture 8 How to calculate the time complexity.mp4 2:52 Lecture 9 The RAM model of computation.mp4 Lecture 10 Time complexity of Bubble sort algorithm 3:2 Lecture 11 Pseudo code Bubble sort algorithm 3:25 Lecture 12 The Big O notation 3:26 Lecture 13 Using Big O notation Examples 4:41 Lecture 14 Comparison of running times 4:3

#### Section 3 : Basic Sorting and Search Algorithms

 Lecture 15 Selection Sort 2:48 lecture 16 Selection Sort Pseudocode 2:35 Lecture 17 Introduction to Insertion Sort 1:56 Lecture 18 Applying Insertion Sort algorithm to cue balls 2:8 Lecture 19 Insertion Sort Pseudocode Lecture 20 O(n²) sorting algorithms - Comparison 2:0 Lecture 21 In place sorting Text Lecture 22 Stable Vs Unstable Sorts 3:46 Lecture 23 Searching elements in an un ordered array 3:17 Lecture 24 Searching elements in an ORDERED array 2:34 Lecture 25 Searching elements in an ORDERED array - contd 5:48 Lecture 26 Inserting and Deleting items in an ORDERED arr 2:9 Lecture 27 Sorting any type of object 1:33 Lecture 28 Assignment Text

#### Section 4 : Linked Lists

 Lecture 29 What is a Linked List 3:21 Lecture 30 Implementing a Linked List in Java 0:56 Lecture 31 Inserting a new Node 5:25 Lecture 32 Length of a Linked List 2:11 Lecture 33 Deleting the head node 2:11 Lecture 34 Searching for an Item 3:12 Lecture 35 Using java generics to parameterize the Linked Text Lecture 36 Doubly Ended Lists 3:6 Lecture 37 Inserting data in a sorted Linked List 4:38 Lecture 38 Doubly Linked List. 6:29 Lecture 39 Remove - INTRODUCTION TO BRAINMEASURES PROCTOR Pdf Lecture 40 Assignment Text

#### Section 5 : Stacks and Queues

 Lecture 41 Stacks 2:41 Lecture 42 Abstract Data Types 0:37 Lecture 43 Implementing Stacks using Arrays 3:22 Lecture 44 Queues 2:32 Lecture 45 Queues using Arrays 5:30 Lecture 46 Double Ended Queues 1:59 Lecture 47 Double Ended Queues using Arrays 4:20 Lecture 48 Assignment Text

#### Section 6 : Recursion

 Lecture 49 Introduction 4:33 Lecture 50 Understanding Recursion 3:4 Lecture 51 Tail recursion 2:48 Lecture 52 Tower of Hanoi 8:25 Lecture 53 Tower of Hanoi - Implementation 2:59 Lecture 54 Merge Sort 4:10 Lecture 55 Merge Sort - Pseudocode 4:25 Lecture 56 Merge Step - Pseudocode 4:32 Lecture 57 Time Complexity of Merge Sort 2:52 Lecture 58 Assignment Text

#### Section 7 : Binary Search Trees

 Lecture 59 The Tree Data structure Lecture 60 Binary Trees 3:34 Lecture 61 Binary Search Trees 2:2 Lecture 62 Finding an item in a Binary Search Tree 2:25 Lecture 63 Implementing the find method 3:3 Lecture 64 Inserting an item in a Binary Search Tree 3:34 Lecture 65 Deleting an Item Case 1 6:6 Lecture 66 Deleting an Item - Case 2 2:59 Lecture 67 Deleting an Item - Case 3 3:45 Lecture 68 Deleting an Item - Soft Delete 1:41 Lecture 69 Finding smallest & largest values 2:34 Lecture 70 Tree Traversal In Order 3:19 Lecture 71 Tree Traversal Pre Order 1:59 Lecture 72 Tree Traversal Post Order 0:57 Lecture 73 Unbalanced Trees Vs Balanced Trees 2:16 Lecture 74 Height of a Binary Tree 1:35 Lecture 75 Time Complexity of Operations on Binary Search 2:16 Lecture 76 Assignment Text

#### Section 8 : More Sorting Algorithms

 Lecture 77 Introduction Lecture 78 QuickSort 4:54 Lecture 79 QuickSort The partition step 2:22 Lecture 80 Shell Sort 5:27 Lecture 81 Shell Sort Example 3:28 Lecture 82 Counting Sort 4:51 Lecture 83 Radix Sort 2:28 Lecture 84 Bucket Sort 3:12 Lecture 85 Assignment Text

#### Section 9 : Heaps

 Lecture 86 Introduction 4:7 Lecture 87 Deleting the root 1:54 Lecture 88 Inserting an item in a heap 1:59 Lecture 89 Heaps as Priority Queues 2:31 Lecture 90 Representing heaps using Arrays 1:56 Lecture 91 Heap Sort 2:30 Lecture 92 Building a heap 4:7 Lecture 93 Assignment Text

#### Section 10 : Hashtables

 Lecture 94 Introduction 2:41 Lecture 95 Direct Access Tables 2:4 Lecture 96 Hashing 1:38 Lecture 97 Resolving collisions through chaining 4:17 Lecture 98 The Hash function 6:17 Lecture 99 Open Addressing to resolve collisions 2:59 Lecture 100 Strategies for Open Addressing 3:19 Lecture 101 Time Complexity Open Addressing Lecture 102 Assignment Text