Radix sort is a non-comparative sorting algorithm that sorts data by grouping keys based on individual digit values. It uses bucket sort repeatedly on each digit place value, from least to most significant. This requires a number of passes equal to the maximum digit length. Each pass takes O(n+k) time, so the total time complexity is O(d(n+k)) where d is the digit length. Radix sort is very efficient and requires minimal space and data movement compared to other algorithms.