Useful Links
Computer Science
Computer Science Fundamentals
Mathematical Foundations for Computing
1. Foundations of Logic and Proofs
2. Basic Structures: Sets, Functions, and Relations
3. Algorithms and Complexity
4. Integers and Number Theory
5. Induction and Recursion
6. Counting and Combinatorics
7. Discrete Probability
8. Graph Theory
9. Boolean Algebra and Logic Circuits
10. Formal Languages and Automata Theory
Induction and Recursion
Mathematical Induction
The Principle of Mathematical Induction
First Principle of Induction
Structure of Inductive Proofs
The Basis Step
Establishing the Base Case
Multiple Base Cases
The Inductive Step
Inductive Hypothesis
Proving the Implication
Writing Inductive Proofs
Proof Templates
Common Techniques
Common Pitfalls in Induction
Incorrect Base Cases
Faulty Inductive Steps
Assuming What You Want to Prove
Strong Induction
Principle of Strong Induction
When to Use Strong Induction
Examples of Strong Induction
Relationship to Weak Induction
Recursive Definitions
Recursively Defined Functions
Base Cases and Recursive Cases
Examples and Construction
Well-Defined Recursive Functions
Recursively Defined Sets and Structures
Sequences
Trees
Strings
Natural Numbers
Structural Induction
Principle of Structural Induction
Applications to Data Structures
Induction on Trees
Induction on Lists
Recursive Algorithms
Design Principles
Divide and Conquer
Base Cases and Recursive Cases
Ensuring Termination
Classic Recursive Algorithms
Factorial Computation
Fibonacci Numbers
Tower of Hanoi
The Merge Sort Algorithm
Recursive Structure
Merging Process
Time Complexity Analysis
The Binary Search Algorithm
Recursive Implementation
Iterative Implementation
Correctness Analysis
Proving Correctness of Recursive Algorithms
Base Case Verification
Inductive Step
Termination Arguments
Recurrence Relations
Modeling with Recurrence Relations
Examples from Algorithms
Setting Up Recurrences
Initial Conditions
Solving Linear Recurrence Relations
Homogeneous Recurrence Relations
Characteristic Equations
Distinct Roots
Repeated Roots
Nonhomogeneous Recurrence Relations
Particular Solutions
The Master Theorem
Statement of the Master Theorem
Application to Divide-and-Conquer Algorithms
Cases and Examples
Limitations of the Master Theorem
Previous
4. Integers and Number Theory
Go to top
Next
6. Counting and Combinatorics