Algorytmy wyszukiwania i porządkowania

tworzenie listy i operacje na listach

dodawanie pięciu elementów do listy

„ręczne” usuwanie wszystkich elementów z listy

sortowanie elementów listy metodą bąbelkową

import random
import keyboard

# Losowanie 6 unikalnych liczb
lista = random.sample(range(1, 50), 6)

# Wyświetlenie wylosowanej listy
print("Wylosowane liczby:", lista)
print("Naciśnij 's', aby posortować liczby.")

# Czekanie na naciśnięcie klawisza 's'
keyboard.wait('s')

# Sortowanie listy
lista.sort()

# Wyświetlenie posortowanej listy
print("Posortowane liczby:", lista)

W informatyce bardzo często trzeba uporządkować dane – liczby, imiona, wyniki. Można to zrobić na różne sposoby. W tej lekcji poznasz dwa podstawowe algorytmy sortowania:

  1. Sortowanie bąbelkowe (Bubble Sort)
  2. Sortowanie przez wybór (Selection Sort)

Oba sposoby działają trochę inaczej, ale prowadzą do tego samego celu – uporządkowania danych.


1. Sortowanie bąbelkowe – co i jak?

Na czym polega:

Porównujesz pary sąsiednich elementów. Jeśli są w złej kolejności – zamieniasz je miejscami. Powtarzasz to wiele razy. Największe liczby „wpływają” na koniec listy, jak bąbelki w wodzie – stąd nazwa.

Przykład (dla liczb):
Start: 5, 3, 7, 1
Porównaj 5 i 3 → zamień
Porównaj 5 i 7 → zostaw
Porównaj 7 i 1 → zamień
Nowa kolejność: 3, 5, 1, 7
Powtórz „od początku”, aż do uzyskania: 1, 3, 5, 7

Cechy:

  • dużo porównań,
  • wiele zamian,
  • łatwy do zrozumienia i obserwacji.

2. Sortowanie przez wybór – co i jak?

Na czym polega:

Szukasz najmniejszego elementu w całej liście i ustawiasz go na pierwszym miejscu. Potem szukasz najmniejszego z pozostałych i ustawiasz go na drugim miejscu. I tak dalej.

Przykład (dla liczb):
Start: 5, 3, 7, 1
Najmniejszy to 1 → przesuń na początek
Pozostaje: 5, 3, 7 → najmniejszy to 3 → daj go na drugie miejsce
Potem 5 i 7 → najmniejszy to 5 → daj go na trzecie miejsce
Wynik: 1, 3, 5, 7

Cechy:

  • mniej zamian (każdy najmniejszy trafia od razu na miejsce),
  • trzeba przeszukać całą listę kilka razy,
  • logiczne, krok po kroku.

Porównanie metod

CechaSortowanie bąbelkoweSortowanie przez wybór
Porównuje sąsiednie elementyTakNie – przeszukuje całą listę
Ile razy przegląda listęWiele rundKażdy element raz jako najmniejszy
Liczba zamianDużoMało (1 zamiana na rundę)
ZrozumiałośćŁatwy do obserwacjiŁatwy do zapisania jako algorytm
Do czego dobre?Nauka porównywania i iteracjiNauka analizy i selekcji

Podsumowanie

Oba sposoby uczą, jak działa porządkowanie danych w komputerze.
Sortowanie bąbelkowe działa „krok po kroku” od początku do końca, porównując liczby parami.
Sortowanie przez wybór działa bardziej „z głową” – szuka od razu najlepszego kandydata i ustawia go na odpowiednie miejsce.

Obie metody warto znać i potrafić wytłumaczyć.

Przykłady obu metod:


Opublikowano

w

przez

Tagi: