This project contains implementations of fundamental sorting algorithms written in Java. It is part of my Data Structures college lessons, focusing on illustrating how each algorithm works through clear and well-structured code. The lessons were taught by Professor Fernando Sambinelli during the third semester of the Systems Analysis and Development program at the Instituto Federal de Educação, Ciência e Tecnologia de São Paulo.
-
Selection Sort: a simple algorithm that repeatedly selects the smallest element and moves it to the correct position.
-
Insertion Sort: efficient for nearly sorted datasets. Shifts elements to insert the current value at the correct position.
-
Bubble Sort: Compares and swaps adjacent elements. Generally the least efficient sorting algorithm.
-
Merge Sort: A stable, divide-and-conquer algorithm that recursively splits and merges arrays.
-
Quick Sort: Fast and efficient algorithm in most cases. Uses a pivot to partition the array and sort recursively.