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
Graph Theory
Introduction to Graphs
Definition of a Graph
Vertices and Edges
Graph Notation
Types of Graphs
Undirected Graphs
Directed Graphs
Simple Graphs
Multigraphs
Pseudographs
Weighted Graphs
Complete Graphs
Bipartite Graphs
Graph Terminology
Vertices and Edges
Adjacency and Incidence
Degree of a Vertex
Loops and Multiple Edges
Subgraphs
Graph Complements
Representing Graphs
Adjacency Lists
Structure and Implementation
Space Complexity
Adjacency Matrices
Matrix Representation
Space and Time Trade-offs
Incidence Matrices
Definition and Properties
Edge Lists
Simple Representation
Use Cases
Graph Isomorphism
Definition of Isomorphism
Invariants Under Isomorphism
Testing for Isomorphism
Automorphisms
Connectivity
Paths and Walks
Definitions
Simple Paths
Path Length
Cycles and Circuits
Simple Cycles
Circuit Properties
Connectedness in Undirected Graphs
Connected Graphs
Distance Between Vertices
Connected Components
Definition and Properties
Finding Connected Components
Connectivity in Directed Graphs
Strong Connectivity
Weak Connectivity
Strongly Connected Components
Euler and Hamilton Paths
Euler Paths and Circuits
Definition and Properties
Necessary and Sufficient Conditions
Hierholzer's Algorithm
Hamilton Paths and Circuits
Definition and Properties
Existence Criteria
Dirac's Theorem
Ore's Theorem
Computational Complexity
Shortest-Path Problems
Single-Source Shortest Paths
Problem Definition
Dijkstra's Algorithm
Bellman-Ford Algorithm
All-Pairs Shortest Paths
Floyd-Warshall Algorithm
Matrix Multiplication Approach
Properties of Shortest Paths
Optimal Substructure
Triangle Inequality
Trees
Introduction to Trees
Definition and Properties
Tree Characterizations
Properties of Trees
Number of Edges
Unique Paths
Leaf and Internal Nodes
Rooted Trees
Root Selection
Parent-Child Relationships
Siblings and Ancestors
Levels and Height
Binary Trees
Spanning Trees
Definition and Properties
Number of Spanning Trees
Minimum Spanning Trees
Problem Definition
Prim's Algorithm
Kruskal's Algorithm
Cut Property
Cycle Property
Tree Traversal
Depth-First Traversals
Pre-order Traversal
In-order Traversal
Post-order Traversal
Breadth-First Traversal
Level-order Traversal
Queue-based Implementation
Applications of Tree Traversal
Expression Trees
File System Traversal
Previous
7. Discrete Probability
Go to top
Next
9. Boolean Algebra and Logic Circuits