Time and space complexity analysis bigO notation
What you’ll learn
Analyze the time and space complexity of an algorithm
Compare the complexity of two algorithms
Complexity of searching and sorting algorithms
Complexity of data structures main operations
Requirements
Basic programming knowledge
Description
You have issues with time and space complexity analysis? No worries, get ready to take a detailed course on time and space complexity analysis that will teach you how to analyze the time and space complexity of an algorithm, an important skill to have in computer science and competitive programming!The course contains both theory and practice, theory to get all the knowledge you need to know about complexity analysis (notations, input cases, amortized complexity, complexity analysis of data structures…) and practice to apply that knowledge to analyze the time and space complexity of different algorithms!And to make your learning experience better, the course will have quizzes, extra resources, captions, animations, slides, good audio/video quality…et cetera. And most importantly, the ability to ask the instructor when you don’t understand something! Hours and hours of researching, writing, animating, and recording, to provide you with this amazing course, don’t miss it out!The course will cover:Complexity analysis basicsBig-O, big-Omega, and big-Theta notationsBest, average, and worst caseComplexities hierarchyComplexity classes (P vs NP problem)How to analyze the time and space complexity of an algorithmHow to compare algorithms efficiencyAmortized complexity analysisComplexity analysis of searching algorithmsComplexity analysis of sorting algorithmsComplexity analysis of recursive functionsComplexity analysis of data structures main operationsCommon mistakes and misconceptionsComplexity analysis of some popular interview coding problemsHope to see you in the course!
Overview
Section 1: Complexity analysis basics
Lecture 1 Introduction
Lecture 2 Examples
Lecture 3 Big-O, big-Ω, and big-θ notations
Lecture 4 Extra resource: Notations mathematical definition
Lecture 5 Best, average, and worst case
Lecture 6 Complexity classes
Section 2: How to analyze the complexity of an algorithm
Lecture 7 Complexities hierarchy
Lecture 8 How to analyze the complexity of an algorithm
Lecture 9 Amortized complexity
Lecture 10 How to compare two algorithms
Lecture 11 “Find pair that sums up to k” problem analysis
Section 3: Searching algorithms and complexity analysis
Lecture 12 Linear search algorithm
Lecture 13 Binary search algorithm
Lecture 14 Knuth-Morris-Pratt (KMP) algorithm
Section 4: Sorting algorithms and complexity analysis
Lecture 15 Introduction
Lecture 16 Insertion sort
Lecture 17 Bubble sort
Lecture 18 Selection sort
Lecture 19 Merge sort
Lecture 20 Heapsort
Lecture 21 Quicksort
Lecture 22 Counting sort
Lecture 23 Radix sort
Lecture 24 Bucket sort
Lecture 25 Shell sort
Lecture 26 Extra resource: Summary
Section 5: Recursive functions and complexity analysis
Lecture 27 Introduction
Lecture 28 Recursion tree method
Lecture 29 Recurrence relation method
Lecture 30 Master theorem method
Lecture 31 Space complexity analysis of recursive functions
Lecture 32 Memoization
Lecture 33 Dynamic programming
Section 6: Data structures and complexity analysis
Lecture 34 Arrays
Lecture 35 Linked lists, stacks, and queues
Lecture 36 Hash tables and sets
Lecture 37 Trees
Lecture 38 Mathematical proof of time complexity of building a binary heap
Lecture 39 Graphs
Lecture 40 Extra resource: Summary
Section 7: Common mistakes and misconceptions
Lecture 41 Nested loops == O(n²)?
Lecture 42 Common mistakes
Lecture 43 Do we always need to optimize?
Section 8: Practice: complexity analysis of popular coding interview problems solutions
Lecture 44 First repeating character
Lecture 45 Maximum subarray
Lecture 46 Peak finding
Lecture 47 Palindrome linked list
Lecture 48 String subsequences
Lecture 49 Minimum cost path
Lecture 50 Longest consecutive sequence
Lecture 51 Longest common subsequence
Lecture 52 Subsets that sum up to k
Lecture 53 Balanced binary tree
Lecture 54 Array permutations
Lecture 55 Word search
Lecture 56 N-queens
Lecture 57 Bonus: space-optimized dynamic programming
Programmers,Computer science students,Engineering students,Competitive programmers,Self-taught developers
Course Information:
Udemy | English | 7h 34m | 1.95 GB
Created by: Inside Code
You Can See More Courses in the Teaching & Academics >> Greetings from CourseDown.com