Недавно я думал об использовании объектно-ориентированного дизайна в алгоритме сортировки. Однако я не смог найти подходящий способ приблизиться к созданию этого алгоритма сортировки, который выполняет сортировку в O (n) времени.
Хорошо, вот что я думал в течение недели. У меня есть набор входных данных. Я назначу массу каждому из входных данных (предположим, что входные данные имеют тип Mass
и тип Sphere
. Если мы предположим, что все объекты являются абсолютно сферическими объектами с формами, пропорциональными их массе, самый тяжелый сначала земля.). Я буду размещать все свои входные данные в пространстве на одинаковом расстоянии от земли. И я сделаю их свободными падениями. Согласно гравитационному закону, самый тяжелый первый попадает в землю. И порядок, в котором они попали, даст мне отсортированные данные. Это смешно в некотором роде, но под этим я чувствую, что это должно быть возможно с использованием OO, которое я узнал до даты.
Можно ли сделать технику сортировки, которая использует сценарий гравитационного тянуть, или я тупой/сумасшедший?
Изменить: Выключает все объекты, попадающие в землю в то же время, поэтому я ввел концепцию сферического объекта.