Useful Links
Mathematics
Discrete Mathematics
1. Foundations of Logic and Proofs
2. Set Theory and Basic Structures
3. Combinatorics
4. Number Theory
5. Graph Theory
6. Trees
7. Discrete Probability
8. Algorithms and Complexity
9. Boolean Algebra and Logic Circuits
Algorithms and Complexity
Algorithm Fundamentals
Algorithm Definition
Properties of Algorithms
Algorithm vs Program
Correctness and Termination
Algorithm Representation
Pseudocode
Flowcharts
Natural Language Description
Algorithm Design Strategies
Brute Force
Divide and Conquer
Greedy Algorithms
Dynamic Programming
Asymptotic Analysis
Growth of Functions
Rate of Growth
Comparing Functions
Asymptotic Relationships
Big-O Notation
Definition and Properties
Common Growth Rates
Rules for Big-O
Omega and Theta Notation
Lower Bounds
Tight Bounds
Relationships Between Notations
Analyzing Algorithms
Time Complexity Analysis
Space Complexity Analysis
Best, Average, and Worst Case
Fundamental Algorithms
Searching Algorithms
Linear Search
Binary Search
Interpolation Search
Sorting Algorithms
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Heap Sort
Comparison of Sorting Algorithms
String Algorithms
Pattern Matching
String Searching
Basic String Operations
Advanced Algorithm Topics
Recursive Algorithms
Recursion Principles
Recurrence Relations
Master Theorem
Graph Algorithms
Graph Traversal Complexity
Shortest Path Complexity
Minimum Spanning Tree Complexity
Computational Complexity Classes
P and NP Classes
NP-Complete Problems
Polynomial Reductions
Previous
7. Discrete Probability
Go to top
Next
9. Boolean Algebra and Logic Circuits