Useful Links
Computer Science
Computer Science Fundamentals
Introduction to Computer Science
1. Foundations of Computer Science
2. Data Representation and Number Systems
3. Computer Hardware and Architecture
4. Software Fundamentals
5. Introduction to Programming
6. Algorithms and Data Structures
7. Computer Networks and Internet
8. Cybersecurity Fundamentals
9. Database Systems
10. Artificial Intelligence and Machine Learning
11. Human-Computer Interaction
12. Ethical and Societal Impacts of Computing
Algorithms and Data Structures
Algorithm Fundamentals
Algorithm Definition
Input-Output Specification
Finiteness
Definiteness
Effectiveness
Correctness
Algorithm Representation
Natural Language Description
Pseudocode
Flowcharts
Programming Language Implementation
Algorithm Design Strategies
Brute Force
Divide and Conquer
Greedy Algorithms
Dynamic Programming
Backtracking
Algorithm Analysis
Performance Measurement
Empirical Analysis
Theoretical Analysis
Time Complexity Analysis
Best Case Analysis
Worst Case Analysis
Average Case Analysis
Amortized Analysis
Space Complexity Analysis
Memory Usage
Auxiliary Space
Asymptotic Notation
Big O Notation
Big Omega Notation
Big Theta Notation
Common Complexity Classes
Constant Time O(1)
Logarithmic Time O(log n)
Linear Time O(n)
Linearithmic Time O(n log n)
Quadratic Time O(n²)
Exponential Time O(2ⁿ)
Fundamental Algorithms
Searching Algorithms
Linear Search
Algorithm Implementation
Time Complexity Analysis
Use Cases
Binary Search
Prerequisites
Algorithm Implementation
Time Complexity Analysis
Variations
Hash-Based Search
Hash Functions
Collision Handling
Sorting Algorithms
Simple Sorting Algorithms
Bubble Sort
Selection Sort
Insertion Sort
Efficient Sorting Algorithms
Merge Sort
Divide and Conquer Approach
Merging Process
Time Complexity Analysis
Quick Sort
Partitioning Strategy
Pivot Selection
Time Complexity Analysis
Heap Sort
Heap Data Structure
Heapify Process
Specialized Sorting
Counting Sort
Radix Sort
Bucket Sort
String Algorithms
String Matching
Pattern Recognition
String Manipulation
Data Structure Fundamentals
Abstract Data Types
Interface vs Implementation
Data Abstraction
Encapsulation
Data Structure Operations
Insertion
Deletion
Search
Traversal
Update
Data Structure Selection Criteria
Time Complexity Requirements
Space Complexity Requirements
Operation Frequency
Linear Data Structures
Arrays
Static Arrays
Memory Layout
Index-Based Access
Array Operations
Dynamic Arrays
Resizing Strategies
Amortized Analysis
Multi-Dimensional Arrays
Matrix Representation
Memory Layout
Linked Lists
Singly Linked Lists
Node Structure
Basic Operations
Memory Management
Doubly Linked Lists
Bidirectional Navigation
Operation Efficiency
Circular Linked Lists
Implementation Variations
Use Cases
Stacks
LIFO Principle
Stack Operations
Push Operation
Pop Operation
Peek/Top Operation
Stack Applications
Function Call Management
Expression Evaluation
Undo Operations
Stack Implementation
Array-Based Implementation
Linked List Implementation
Queues
FIFO Principle
Queue Operations
Enqueue Operation
Dequeue Operation
Front/Rear Access
Queue Variations
Circular Queues
Priority Queues
Double-Ended Queues
Queue Applications
Process Scheduling
Breadth-First Search
Buffer Management
Non-Linear Data Structures
Trees
Tree Terminology
Nodes and Edges
Root Node
Leaf Nodes
Internal Nodes
Parent-Child Relationships
Tree Height and Depth
Binary Trees
Binary Tree Properties
Tree Traversal Methods
Inorder Traversal
Preorder Traversal
Postorder Traversal
Level-Order Traversal
Binary Search Trees
BST Properties
Search Operations
Insertion and Deletion
Tree Balancing Concepts
Tree Applications
File Systems
Decision Trees
Expression Trees
Graphs
Graph Terminology
Vertices and Edges
Directed vs Undirected Graphs
Weighted vs Unweighted Graphs
Graph Connectivity
Graph Representation
Adjacency Matrix
Adjacency List
Edge List
Graph Traversal
Depth-First Search
Breadth-First Search
Graph Applications
Social Networks
Transportation Networks
Web Page Linking
Hash Tables
Hash Function Design
Collision Resolution
Chaining
Open Addressing
Hash Table Performance
Applications of Hashing
Previous
5. Introduction to Programming
Go to top
Next
7. Computer Networks and Internet