Radix sort is a non-comparative sorting algorithm that sorts data based on the individual digit positions of integer keys. It works by performing multiple passes over the data, where each pass groups keys by a specific digit (from least to most significant). A stable sorting method is used to group the keys in each pass. This results in a running time of O(dn) for d digit positions and n keys.