Wykres porównań
Liczba porównań i zamian w sortowaniu bąbelkowym - Informatyka - liceum klasa 2 (Python)
Wykres pokazuje, jak szybko rośnie praca sortowania bąbelkowego. Słupek numer `i` to lista o `n = i + 2` elementach, a jego wysokość to liczba porównań `n(n-1)/2` (jedna jednostka wartości słupka = jedno porównanie, a 8 jednostek planszy na jednostkę jak w funkcji `draw`, więc słupki są podzielone przez 3, żeby zmieściły się na planszy). Słupki nie rosną po równo: każdy kolejny jest wyższy od poprzedniego o coraz więcej. To kształt **paraboli**.
arrow = Sprite()
arrow.image = 16
arrow.size = 10
world.add(arrow)
arrow.visible = False
def draw(values, colors=None):
world.clear_trails()
for i, v in enumerate(values):
if colors:
arrow.pen.color = colors[i]
else:
arrow.pen.color = (99, 102, 241)
arrow.pen.on = False
arrow.position = (-90 + 14 * i, -80)
arrow.angle = 0
arrow.pen.on = True
for side in [8 * v, 10, 8 * v, 10]:
arrow.move(side)
arrow.turn(90)
arrow.pen.on = False
values = []
for n in range(2, 12):
values.append(n * (n - 1) // 2 / 3)
draw(values)Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 2·Zaloguj się, aby zapisać postęp na koncie.