Boblesortering er en av de enkleste sorteringsalgoritmene som itererer gjennom den gitte matrisen og sammenligner tilstøtende elementer. Hvis elementene er i feil rekkefølge, byttes de for å bringe dem i riktig rekkefølge. Denne prosessen fortsetter til hele matrisen er sortert.
Algoritme:
Trinn 1:Iterer over matrisen flere ganger
I hver iterasjon, sammenligne tilstøtende elementer (i og i + 1)
Trinn 2:Hvis det gjeldende elementet (i) er større enn det neste elementet (i + 1), bytt dem
Gjenta denne prosessen til hele matrisen er sortert
Tidskompleksitet:
O(n^2), siden den itererer gjennom matrisen flere ganger og utfører sammenligninger og bytter i hver iterasjon.
Kodeeksempel i Python:
def bubble_sort(arr):
for i in range(len(arr) - 1):
# Iterer gjennom matrisen for å sammenligne tilstøtende elementer
for j i området(len(arr) - 1 - i):
# Sammenlign det gjeldende elementet med det neste elementet
hvis arr[j]> arr[j + 1]:
# Bytt elementene hvis de er i feil rekkefølge
arr[j], arr[j + 1] =arr[j + 1], arr[j]
# Returner den sorterte matrisen
retur arr
Eksempel:
Inndata:
[5, 3, 1, 2, 4]
Produksjon:
[1, 2, 3, 4, 5]
Boblesorteringsalgoritmen itererer gjennom matrisen og sammenligner tilstøtende elementer. Hvis de er i feil rekkefølge, byttes de. Denne prosessen gjentas til hele matrisen er sortert.
Slik fungerer algoritmen i dette eksemplet:
Iterasjon 1:
- Sammenlign 5 og 3:Bytt dem siden 5 er større enn 3.
- Sammenlign 3 og 1:Bytt dem siden 3 er større enn 1.
- Sammenlign 2 og 4:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Array blir:[3, 1, 2, 4, 5].
Iterasjon 2:
- Sammenlign 3 og 1:Bytt dem siden 3 er større enn 1.
- Sammenlign 1 og 2:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Sammenlign 2 og 4:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Array blir:[1, 2, 3, 4, 5].
Iterasjon 3:
- Sammenlign 1 og 2:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Sammenlign 2 og 3:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Sammenlign 3 og 4:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Array blir:[1, 2, 3, 4, 5].
Iterasjon 4:
- Sammenlign 1 og 2:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Sammenlign 2 og 3:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Sammenlign 3 og 4:Ingen bytte er nødvendig siden de er i riktig rekkefølge.
- Array forblir uendret.
Etter den fjerde iterasjonen blir matrisen sortert i stigende rekkefølge:[1, 2, 3, 4, 5].