# Selection Sort in Data Structure

Mentor: Shailendra Chauhan
Duration : 00:02:00

## What is Selection Sort in Data Structure?

Selection sort is a comparison-based sorting algorithm that is both effective and efficient. It adds one element per iteration. To shift the smallest element in the array to the beginning of the array, swap it with the front element.

## Working of Selection Sort Algorithm

• Get the list or array to be sorted.
• Use the current index as the beginning index.
• To discover the smallest element, traverse the unsorted part.
• Swap the smallest element with the one at the current index.
• Repeat steps 3–4 until you reach the end of the list.
• If all of the elements have been sorted, the procedure is complete.

## Complexity Analysis of Selection Sort Algorithm

### Time Complexity

#### Best Case Complexity

This occurs when no sorting is necessary, implying that the array is already sorted. The best-case time complexity for selection sort is O(n2).

#### Average Case Complexity

This arises when the array elements are jumbled and do not appropriately climb or descend. The average case time complexity for the selection sort is O(n2).

#### Worst Case Complexity

This occurs when array members must be sorted in reverse order. That is, assume you need to sort the array elements in ascending order but the elements are in descending order. The worst-case time complexity for selection sort is O(n2).

### Space Complexity

The selection sort method has a space complexity of O(1). We used a set amount of variables, and we don't need any extra memory space except for the loop variables and auxiliary variables like temp, size, and minidx.

## Applications of Selection Sort Algorithm

• Best for small Datasets: This technique is simple and efficient for tiny datasets when temporal complexity isn't an issue.
• Embedded Systems: Its simplicity and small code footprint make it suitable for embedded systems with limited resources.
• Other Algorithm Testing: This is a common technique for benchmarking and comparing the performance of more sophisticated sorting algorithms.
• Partially Sorted Data: Works well with partially sorted data by reducing needless swaps, resulting in faster sorting times.
• Costly Swapping: Efficient when swapping parts is expensive since it reduces the amount of swaps.

## Advantages of Selection Sort Algorithm

• Simple: Easy to learn and implement.
• Space Efficient: Performs in-place sorting with minimal extra space.
• Small datasets: Suitable for a few hundred or thousand elements.

## Disadvantages of Selection Sort Algorithm

• Time Complexity: Time complexity is O(n^2), which makes it slow for huge arrays.
• Unstable: Does not maintain the relative order of items with equal keys.
• Not optimal: Sorting comparisons and swaps are not always minimized.
Self-paced Membership
• 24+ Video Courses
• 825+ Hands-On Labs
• 400+ Quick Notes
• 50+ Skill Tests
• 10+ Interview Q&A Courses
• 10+ Real-world Projects
• Career Coaching Sessions
• Email Support
Upto 60% OFF
Still have some questions? Let's discuss.