Skip to content

Latest commit

 

History

History
92 lines (67 loc) · 3.02 KB

File metadata and controls

92 lines (67 loc) · 3.02 KB

C++ Algorithms Program

Introduction

This 3-week program focuses on fundamental and advanced algorithms in C++. It provides daily exercises to strengthen problem-solving skills and code optimization techniques.

Week 1: Algorithm Fundamentals

Day 1: Linear Search

  • Exercise: Implement a linear search to find an element in an array.
  • Objective: Understand basic array searching.

Day 2: Binary Search

  • Exercise: Implement binary search for a sorted array.
  • Objective: Learn efficient searching.

Day 3: Bubble Sort

  • Exercise: Implement the bubble sort algorithm.
  • Objective: Understand basic sorting algorithms.

Day 4: Selection Sort

  • Exercise: Implement the selection sort algorithm.
  • Objective: Compare different sorting methods.

Day 5: Insertion Sort

  • Exercise: Implement the insertion sort algorithm.
  • Objective: Reinforce sorting skills.

Day 6: Maximum and Minimum in an Array

  • Exercise: Find the maximum and minimum elements in an array with one pass.
  • Objective: Optimize array searching.

Day 7: Review

  • Exercise: Review and optimize previous exercises.

Week 2: Advanced Basic Algorithms

Day 8: Quick Sort

  • Exercise: Implement the quick sort algorithm.
  • Objective: Learn advanced sorting techniques.

Day 9: Merge Sort

  • Exercise: Implement the merge sort algorithm.
  • Objective: Understand the divide and conquer approach.

Day 10: Duplicate Elements Detection

  • Exercise: Check if an array contains duplicate elements.
  • Objective: Handle nested loops.

Day 11: String Reversal

  • Exercise: Reverse a string.
  • Objective: Manipulate strings and arrays.

Day 12: Counting Vowels and Consonants

  • Exercise: Count vowels and consonants in a string.
  • Objective: Use conditions and string manipulation.

Day 13: Counting Sort

  • Exercise: Implement the counting sort algorithm.
  • Objective: Explore non-comparative sorting.

Day 14: Review

  • Exercise: Reimplement and compare the algorithms learned.

Week 3: Advanced and Specific Algorithms

Day 15: Substring Search

  • Exercise: Implement substring search in a string.
  • Objective: Work with string searching.

Day 16: Heap Sort

  • Exercise: Implement the heap sort algorithm.
  • Objective: Understand heap data structures.

Day 17: Breadth-First Search (BFS)

  • Exercise: Implement BFS for a graph/tree.
  • Objective: Introduction to graph traversal.

Day 18: Depth-First Search (DFS)

  • Exercise: Implement DFS for a graph/tree.
  • Objective: Understand graph traversal techniques.

Day 19: Dijkstra's Algorithm

  • Exercise: Implement Dijkstra's algorithm for finding the shortest path.
  • Objective: Learn optimal pathfinding.

Day 20: Radix Sort

  • Exercise: Implement radix sort.
  • Objective: Explore advanced sorting methods.

Day 21: Final Review

  • Exercise: Review and enhance previous algorithms.
  • Objective: Consolidate learning and improve efficiency.