На днях я решил написать реализацию radix sort на Java. Предполагается, что сортировка по корням должна быть O (k * N), но моя оказалась O (k ^ 2 * N) из-за процесса разбиения каждой цифры на одно число. Я разбил каждую цифру, отредактировав (%) предыдущие цифры и разделив на десять, чтобы исключить последующие цифры. Я спросил своего профессора, будет ли более эффективный способ сделать это, и он сказал, что нужно использовать битовые операторы. Теперь о моих вопросах: какой метод будет самым быстрым при разбивании каждого числа в Java, 1) метод, указанный выше. 2) Преобразовать число в строку и использовать подстроки. 3) Используйте битовые операции.
Если 3), то как это будет работать?