YoVDO

Time Complexity

Offered By: Ryan O'Donnell via YouTube

Tags

Time Complexity Courses Algorithm Analysis Courses Theoretical Computer Science Courses

Course Description

Overview

Learn about time complexity in algorithms through this comprehensive 1-hour 12-minute lecture. Explore various aspects of algorithmic efficiency, including problem types, input sizes, measuring running time, and worst-case scenarios. Delve into intrinsic complexity, palindrome algorithms, and multiplication techniques. Examine the concept of polynomial time and its implications for efficiency. Gain insights into common progress paradigms for problem-solving and enhance your understanding of algorithmic analysis.

Syllabus

Intro
Dammit I'm mad, by Demetri Martin
Suppose you are the proofreader. How would you check if there's a mistake?
Problems
Algorithms
Instance/input size
When instances are integers
When instances are lists/strings
When instances are graphs
Measuring running time
Running time example
Why worst case?
On input I, algorithm A takes 2718 steps
Run time scaling
Let's do a log-log plot Say 1 step = 1 us
Intrinsic complexity
PALINDROMES: We know an O(n) algorithm, TwoFingers. Could there be a faster one? E.g., O(n)?
MULTIPLICATION
Common progress paradigm for a problem
Does "polynomial time" imply "efficient"?
Definition recall(?)


Taught by

Ryan O'Donnell

Related Courses

Automata Theory
Stanford University via edX
Intro to Theoretical Computer Science
Udacity
Computing: Art, Magic, Science
ETH Zurich via edX
理论计算机科学基础 | Introduction to Theoretical Computer Science
Peking University via edX
Quantitative Formal Modeling and Worst-Case Performance Analysis
EIT Digital via Coursera