> For the complete documentation index, see [llms.txt](https://thesigmaschool.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://thesigmaschool.gitbook.io/home/course-curriculum/data-structures-and-algorithms.md).

# Data Structures & Algorithms

**Course Description**

Develop the problem-solving skills every programmer needs by mastering the fundamentals of Data Structures and Algorithms. Learn how to write optimized code, analyze algorithm efficiency, and solve interview-style coding problems with confidence.

**Course Duration:** 12 Weeks

**Class Schedule:**

* 3 Classes per Week
* 1.5 Hours per Class

**Batch Timings:** Multiple batches available.

**Seat Availability:** Limited seats per batch.

**Contact:** Contact the institute for batch timings, seat availability, and enrollment details.

***

### Detailed Course Curriculum

<details>

<summary><strong>Module 1: Algorithmic Thinking &#x26; Complexity</strong></summary>

* Learn how to approach programming problems systematically.
* Understand Time Complexity and Space Complexity.
* Analyze algorithm efficiency using Big O notation.
* Compare brute-force and optimized solutions.

</details>

<details>

<summary><strong>Module 2: Arrays &#x26; Strings</strong></summary>

* Master one-dimensional and two-dimensional arrays.
* Learn searching, insertion, deletion, and traversal techniques.
* Solve array-based coding problems.
* Practice string manipulation and common interview questions.

</details>

<details>

<summary><strong>Module 3: Searching &#x26; Sorting Algorithms</strong></summary>

* Linear Search and Binary Search.
* Bubble, Selection, and Insertion Sort.
* Merge Sort and Quick Sort.
* Learn when and why each algorithm is used.

</details>

<details>

<summary><strong>Module 4: Recursion &#x26; Backtracking</strong></summary>

* Understand recursive thinking and function calls.
* Solve classic recursion problems.
* Learn backtracking through real-world examples.
* Practice optimization techniques.

</details>

<details>

<summary><strong>Module 5: Linked Lists</strong></summary>

* Singly, Doubly, and Circular Linked Lists.
* Insertion, deletion, and traversal operations.
* Reverse and manipulate linked lists.
* Solve placement-oriented linked list problems.

</details>

<details>

<summary><strong>Module 6: Stacks &#x26; Queues</strong></summary>

* Implement stacks and queues using arrays and linked lists.
* Learn applications like browser history and task scheduling.
* Circular Queue, Priority Queue, and Deque.
* Solve stack-based interview questions.

</details>

<details>

<summary><strong>Module 7: Trees &#x26; Binary Search Trees</strong></summary>

* Understand tree terminology and traversal techniques.
* Preorder, Inorder, and Postorder Traversals.
* Binary Search Trees and common operations.
* Solve tree-based coding challenges.

</details>

<details>

<summary><strong>Module 8: Heaps &#x26; Hashing</strong></summary>

* Learn Min Heap and Max Heap implementations.
* Priority Queue applications.
* Hash Tables and Hash Maps.
* Solve efficient lookup and frequency-based problems.

</details>

<details>

<summary><strong>Module 9: Graphs</strong></summary>

* Represent graphs using adjacency lists and matrices.
* Breadth First Search (BFS) and Depth First Search (DFS).
* Shortest path and graph traversal concepts.
* Solve graph-based interview questions.

</details>

<details>

<summary><strong>Module 10: Advanced Algorithms &#x26; Placement Preparation</strong></summary>

* Greedy Algorithms and Dynamic Programming.
* Tries and advanced problem-solving techniques.
* Mock coding interviews and placement practice.
* Build confidence with real interview-style challenges.

</details>
