In-Place MSD Radix Sort Explained

Most algorithms books describe LSD and MSD Radix Sort variations. However, they do not cover in-place variations. Wikipedia does not describe it either. In this blog I describe an in-place MSD Radix Sort. This is a simpler variant to describe than the type I’ve developed and discussed in previous blogs and in my “Practical Parallel […]

Read more "In-Place MSD Radix Sort Explained"

Radix Selection Algorithm

There is a closely related algorithm to sorting called Selection, which provides the k-th element from an unsorted array. For example, a 17-th highest test score from a college Physics class, or a 91-st most popular book at the library. One way to accomplish Selection is to sort the array and then access the k-th […]

Read more "Radix Selection Algorithm"

Testing the Tester

Unit testing and integration testing are ubiquitous for software development and chip design. Unit testing consists of numerous test cases which test various aspects of the unit/device under test. Typically, unit test cases make sure that all required behaviors are performed by the unit under test. One problem that comes up time and time again […]

Read more "Testing the Tester"