جستجوی موقعیت صحیح یک عنصر و تعویض، دو عملیات اصلی موجود در الگوریتم هستند. ما می‌توانیم جستجو را با استفاده از جستجوی دودویی بهینه کنیم، که پیچیدگی جستجو را از O(n) به O(log n) برای یک عنصر و به n * O(log n) یا O(n log n) برای n عنصر بهبود می‌بخشد. اما از آنجایی که O(n) طول می کشد تا یک عنصر در موقعیت صحیح خود قرار گیرد، n عنصر n * O(n) یا O(n2) زمان می برد تا در مکان مناسب خود قرار گیرند. از این رو، پیچیدگی کل O(n2) باقی می ماند. ما می‌توانیم با استفاده از لیست پیوندی مضاعف به جای آرایه، جابجایی را بهینه کنیم، که پیچیدگی جابجایی از O(n) به O(1) را بهبود می‌بخشد، زیرا می‌توانیم یک عنصر را با تغییر نشانگرها (بدون جابجایی بقیه موارد) در لیست پیوندی وارد کنیم. اما پیچیدگی جستجو O(n2) باقی می ماند زیرا نمی توانیم از جستجوی دودویی در لیست پیوندی استفاده کنیم. بنابراین، می‌توان نتیجه گرفت که نمی‌توانیم پیچیدگی زمانی در بدترین حالت مرتب‌سازی درجی را از O(n2) کاهش دهیم.