ichael Ouroumis
Αρχική
Μαθήματα
Challenges
Blog
🇬🇧
Πίσω σε όλα τα μαθήματα
Module 1: Introduction to DSA and Core Concepts
1.1: What, Why DSA
What Are Data Structures?
What Are Algorithms?
Why Learn DSA?
1.2: Time and Space Complexity
Big O Notation: An Introduction
Analyzing Time Complexity
Analyzing Space Complexity
Best, Average, and Worst Case Scenarios
1.3: Course Navigation and Resources
How to Use This Course
Solutions and Code Examples
Module 2: Foundational Data Structures
2.1: Arrays
Array Definition & JavaScript Arrays
Basic Array Operations (Insert, Delete, Access)
Challenge: Manual Array Insertion
Challenge: Manual Array Deletion
Multi-dimensional Arrays
Challenge: Rotate N×N Matrix by 90°
2.2: Strings
String Basics & Immutability
Common String Methods & Their Complexity
Challenge: String Reversal
Challenge: Palindrome Checker
Challenge: Anagram Detector
2.3: Linked Lists
Node and Linked List Structure
Types of Linked Lists (Singly, Doubly, Circular)
Linked List Operations (Insertion, Deletion, Traversal)
Challenge: Detect a Cycle in a Linked List
Challenge: Merge Two Sorted Linked Lists
Challenge: Reverse a Linked List
Module 3: Abstract Data Types (ADTs)
3.1: Stacks
Stack Theory: LIFO Principle
Stack Implementations (Array-based, Linked List-based)
Stack Applications (Call Stack, Undo/Redo)
Challenge: Balanced Parentheses