# 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**.