مثال حلشده
متوسط رقابت مرتبسازی
صورت مسئله
چرا sorted با اختلافِ زیاد میبرد و این اختلاف با بزرگشدن ورودی چه میشود؟
راهحل گامبهگام
۴ گام باقی مانده
import random, time
def bubble(data):
a = list(data)
for i in range(len(a)):
swapped = False
for j in range(len(a) - 1 - i):
if a[j] > a[j + 1]:
a[j], a[j + 1] = a[j + 1], a[j]
swapped = True
if not swapped:
break
return a
data = [random.randint(0, 10_000) for _ in range(2000)]
t0 = time.perf_counter(); bubble(data); t1 = time.perf_counter()
t2 = time.perf_counter(); sorted(data); t3 = time.perf_counter()
print(f"حبابی: {t1-t0:.3f}s — آماده: {t3-t2:.5f}s")