UsefulLinks
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
8.
Algorithms and Complexity
8.1.
Algorithm Fundamentals
8.1.1.
Algorithm Definition
8.1.1.1.
Properties of Algorithms
8.1.1.2.
Algorithm vs Program
8.1.1.3.
Correctness and Termination
8.1.2.
Algorithm Representation
8.1.2.1.
Pseudocode
8.1.2.2.
Flowcharts
8.1.2.3.
Natural Language Description
8.1.3.
Algorithm Design Strategies
8.1.3.1.
Brute Force
8.1.3.2.
Divide and Conquer
8.1.3.3.
Greedy Algorithms
8.1.3.4.
Dynamic Programming
8.2.
Asymptotic Analysis
8.2.1.
Growth of Functions
8.2.1.1.
Rate of Growth
8.2.1.2.
Comparing Functions
8.2.1.3.
Asymptotic Relationships
8.2.2.
Big-O Notation
8.2.2.1.
Definition and Properties
8.2.2.2.
Common Growth Rates
8.2.2.3.
Rules for Big-O
8.2.3.
Omega and Theta Notation
8.2.3.1.
Lower Bounds
8.2.3.2.
Tight Bounds
8.2.3.3.
Relationships Between Notations
8.2.4.
Analyzing Algorithms
8.2.4.1.
Time Complexity Analysis
8.2.4.2.
Space Complexity Analysis
8.2.4.3.
Best, Average, and Worst Case
8.3.
Fundamental Algorithms
8.3.1.
Searching Algorithms
8.3.1.1.
Linear Search
8.3.1.2.
Binary Search
8.3.1.3.
Interpolation Search
8.3.2.
Sorting Algorithms
8.3.2.1.
Bubble Sort
8.3.2.2.
Selection Sort
8.3.2.3.
Insertion Sort
8.3.2.4.
Merge Sort
8.3.2.5.
Quick Sort
8.3.2.6.
Heap Sort
8.3.2.7.
Comparison of Sorting Algorithms
8.3.3.
String Algorithms
8.3.3.1.
Pattern Matching
8.3.3.2.
String Searching
8.3.3.3.
Basic String Operations
8.4.
Advanced Algorithm Topics
8.4.1.
Recursive Algorithms
8.4.1.1.
Recursion Principles
8.4.1.2.
Recurrence Relations
8.4.1.3.
Master Theorem
8.4.2.
Graph Algorithms
8.4.2.1.
Graph Traversal Complexity
8.4.2.2.
Shortest Path Complexity
8.4.2.3.
Minimum Spanning Tree Complexity
8.4.3.
Computational Complexity Classes
8.4.3.1.
P and NP Classes
8.4.3.2.
NP-Complete Problems
8.4.3.3.
Polynomial Reductions
Previous
7. Discrete Probability
Go to top
Next
9. Boolean Algebra and Logic Circuits