# Bubble Sort

Understanding Bubble Sort

• Bubble sort is a straightforward sorting algorithm used to arrange an unordered list into an ordered sequence.
• It is a comparison-based algorithm in which each pair of adjacent elements is compared and the elements are swapped if they are in the wrong order.
• This process of comparison and swap is repeated until the entire list is sorted, and no more swaps are needed.

How Bubble Sort Works

• Bubble sort starts from the first element of an array and compares it with the second element.
• If the first element is greater than the second element, it swaps them. If it is smaller, it moves on to compare the next pair of elements.
• This process continues, and with each full pass through the list, the largest element “bubbles up” to its correct position, thus the term “Bubble Sort”.
• The process is repeated from the beginning until no more swaps are needed, indicating that the list is sorted.

Efficiency of Bubble Sort

• Bubble sort is not suitable for large datasets due to its high time complexity. In the worst-case scenario (when the list is reverse sorted), bubble sort takes quadratic time, often denoted as O(n²).
• It is generally considered the least efficient sorting algorithm, and is mostly used for educational purposes to introduce the concept of sorting.

Key Features of Bubble Sort

• Bubble sort is a stable sort, meaning that equal elements retain their relative position before and after sorting.
• It’s an in-place sorting algorithm, it requires only a single additional memory space. This means it is efficient when considering space complexity.
• Bubble sort is easy to understand and implement, providing a good starting point for understanding more complex sorting algorithms.