Skip to main content
Graph
Search
fr
en
Login
Search
All
Categories
Concepts
Courses
Lectures
MOOCs
People
Practice
Publications
Startups
Units
Show all results for
Home
Course
CS-250: Algorithms I
Graph Chatbot
Lectures in this course (101)
Analysis of Algorithms
Covers the analysis of algorithms, focusing on insertion sort and computational models.
Merge Sort: Divide-and-Conquer Approach
Introduces the merge sort algorithm through the divide-and-conquer approach, emphasizing correctness and time analysis.
Merge Sort: Divide, Conquer, Combine
Explores Merge Sort, a sorting algorithm that divides, conquers, and combines arrays efficiently to achieve O(nlog n) time complexity.
Merge Sort: Divide-and-Conquer
Introduces Merge Sort, a divide-and-conquer algorithm for efficient array sorting, discussing correctness, runtime analysis, linear-time merging, and recurrence solving techniques.
Solving Recurrences and Recursion Trees
Covers techniques for solving recurrences and introduces the Master Theorem.
Solving Recurrences
Covers sorting algorithms, divide-and-conquer analysis, solving recurrences through induction, complexities of floors and ceilings, and the Master method.
Maximum Subarray Problem
Covers the Master method, maximum-subarray problem, and divide-and-conquer algorithmic paradigm.
Matrix Multiplication: Divide-and-Conquer
Covers divide-and-conquer in matrix multiplication, recursion trees, the master method, maximum-subarray problem, and smart algorithm.
Matrix Multiplication and Heap Data Structure
Covers the divide-and-conquer algorithm for matrix multiplication and introduces the (binary) heap data structure.
Matrix Multiplication: Divide-and-Conquer
Explores the Divide-and-Conquer algorithm for matrix multiplication, including Strassen's Method and its significance in optimizing time complexity.
Heapsort and Priority Queues
Covers the Heapsort algorithm, which sorts arrays efficiently using max-heaps and introduces priority queues.
Heaps: Data Structure and Heapsort
Explores heaps, heapsort, and their efficiency in implementing priority queues.
Elementary Data Structures: Stacks, Queues, Linked Lists
Covers stacks, queues, and linked lists, emphasizing efficiency and dynamic structures.
Binary Search Trees: Implementation and Operations
Covers the implementation and operations of basic data structures like stacks, queues, and linked lists, and introduces binary search trees.
Binary Search Trees: Operations and Procedures
Covers operations and procedures related to binary search trees, including finding successors and predecessors.
Binary Search Trees: Operations and Implementations
Explores Binary Search Trees, covering operations like searching, finding min/max, successors, and printing.
Dynamic Programming: Fibonacci Numbers
Covers dynamic programming with a focus on Fibonacci numbers and efficient calculation algorithms.
Dynamic Programming: Fibonacci Numbers
Covers dynamic programming with a focus on Fibonacci numbers and the rod cutting problem.
Dynamic Programming: Memoization and Bottom-Up Approach
Explores dynamic programming through memoization and a bottom-up approach to optimize recursive algorithms.
Dynamic Programming: Rod Cutting and Matrix Chain Multiplication
Introduces dynamic programming with a focus on rod cutting and matrix chain multiplication.
Previous
Page 4 of 6
Next