3. RECURSION
What is Recursion ?
What is base cases in recursion ?
Types of Recursion.
Linear Recursion
Tail Recursion
Binary Recursion
Advantages of Recursion:
clean & simple code, suitable for typical problems like tree traversals.
Disadvantages of Recursion :
greater space & time requirements.
4. ARRAYS
Linear data structure that stores values of similar datatypes.
Operations on Arrays such as:
Searching : basic time O(N).
Insertion : basic time O(1).
Deletion : basic time O(N).
Advantages of Arrays:
random access of elements
better cache locality
5. SEARCHING
Types of searching algorithms:
Linear search : sequential traversal.
TC: O(N).
Binary search : for sorted arrays or list.
TC: O(log N).
Ternary Search : divide and conquer algorithm.
TC : O(logN)
6. SORTING
Types of sorting algorithms:
Bubble sort : In-place algorithm, swaps adjacent elements.
Selection sort : sorts by repeatedly finding max/min depending on the criterian.
Insertion sort : In-place sorting algorithm. Similar to sorting a desk of cards.
Quick sort : Divide and Conquer, partitions the given array around a pivot.
TC : Best Case: O(nlogN), Worst Case: O(N^2)
Merge sort : Divide and Conquer, divides the array into two halves and merges two sorted
halves. TC: O(nlogN) .
7. Conclusion
It was a great learning experience to complete this Self-Paced Course on Data
Structure and Algorithms. It was great fun and challenge to learn all these data
structures and algorithms right from the beginner to the advance level. The
course was quite well structured and was composed of various quizzes and
programming problems to strengthen the concepts of DSA. Data Structures and
Algorithms are the key part of all programming languages and are highly
focused in interviews/exams, So, I think that this course would be highly
beneficial to me.