 Efficient implementations of quicksort (with in-place partitioning) are typically unstable sorts and somewhat complex, but are among the fastest sorting algorithms in practice.Together with its modest O(log "n") space usage, quicksort is one of the most popular sorting algorithms and is available in many standard programming libraries.The important caveat about quicksort is that its worst-case performance is O("n"2); while this is rare, in naive implementations (choosing the first or last element as pivot) this occurs for sorted data, which is a common case.