Non-contiguous allocation is a memory management technique where a process is allocated memory blocks that are not necessarily adjacent, allowing for more flexible and efficient use of available memory space. This method helps to minimize fragmentation and can improve system performance by enabling processes to utilize scattered free memory blocks across the system.