Quick sort is a sorting algorithm that uses divide-and-conquer to partition an array into two sub-arrays based on a pivot element, and then recursively sorts the sub-arrays. It works by picking a pivot element, partitioning the array into elements less than or equal to the pivot and elements greater than the pivot, and then applying quicksort recursively on the two sub-arrays. Quick sort has an average time complexity of O(nlogn) and is often faster in practice than other popular sorting algorithms like merge sort and heap sort.