Wykres porównań

Porównanie metod sortowania: liczba porównań i zamian - Informatyka - technikum klasa 1 (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 - technikum klasa 1·Zaloguj się, aby zapisać postęp na koncie.