Introduktion till Bubble Sort i Python
Bubble sort är en enkel och logisk sorteringsalgoritm. Dess arbetsprincip är baserad på rekursivt byte av angränsande element om beställningen är felaktig. I det här ämnet kommer vi att lära oss om Bubble Sort i Python.
Bubbelsorter som ibland även kallas Sinking sort, Ripple sort.
Låt oss se det genom ett exempel:
Första omgången
( 6 1 4 3) -> ( 1 6 4 2): Här byts 1 st två element om ordningen inte är korrekt.
(1 6 4 2) -> (1 4 6 2): Här byts de nästa två elementen om ordningen inte är korrekt.
(1 4 6 2 ) -> (1 4 2 6 ): Här byts de nästa två elementen om ordningen inte är korrekt.
Andra körningen
( 1 4 2 6) -> ( 1 4 2 6): Här jämförs 1: a två element, men bytte inte eftersom ordningen är korrekt.
(1 4 2 6) -> (1 2 4 6): Här byts de nästa två elementen eftersom ordningen inte var korrekt.
(1 2 4 6 ) -> (1 2 4 6 ): Här jämförs två sista element, men bytte inte som ordningen är
Nu vet vi att matrisen ser ut sorterad, men en körning krävs utan någon byte, till algoritmen för att veta om sortering görs.
Tredje körning
( 1 2 4 6) -> ( 1 2 4 6): Ingen byte i 1 st två element.
(1 2 4 6) -> (1 2 4 6): Ingen byte i nästa två element.
(1 2 4 6 ) -> (1 2 4 6 ): Ingen byte i de två sista elementen.
Eftersom inga swappar inträffade på något stadium, förstår algoritmen att sortering är perfekt.
Bubbelsorter har fått sitt namn eftersom element rör sig upp i rätt ordning, som är som bubblor som reser sig upp till ytan.
Bubbelsortering på Python-språk
Låt oss nu se den logiska implementeringen av bubblasortering genom python. Python är ett mycket allmänt använt språk idag. Att förstå det genom python kommer säkert att ge dig förtroendet att kunna skriva det på alla andra språk också.
Python-kod
def bubble_Sort(arr):
m = len(arr)
# Traverse through all the array elements
for u in range(m):
for v in range(0, mu-1):
# traverse the array from 0 to mu-1
# Swap if the element is greater than adjacent next one
if arr(v) > arr(v+1) :
arr(v), arr(v+1) = arr(v+1), arr(v)
För att skriva ut matris efter bubblasortering måste du följa kod:
for i in range(len(arr)):
print("%d" %arr(i)),
Here arr will be your array.
Förklaring av Python-koden
Här är "m" längden på matrisen. Två för slingor har den faktiska marklogiken, där "u" representerar det första elementet medan "v" representerar det andra med vilket det första elementet måste jämföras för att byta om sorteringsordning mellan båda inte är korrekt.
“Arr (v)> arr (v + 1)” detta representerar jämförelsen av på varandra följande element, om det första elementet är större än det andra elementet kommer utbyteshantering att utföras genom följande uttryck:
Det är "arr (v), arr (v + 1) = arr (v + 1), arr (v)".
Denna utbytesoperation kallas swap. Den goda delen är inget tillfälligt minne krävs för denna typ av byte operation.
"U" representerar loopen för varje körning, medan "v" representerar stadier i varje steg. Ett exempel i ovanstående avsnitt kan hänvisas till.
Efter att du har utfört bubbelsortering kan man se den sorterade matrisen med koden nämnd nedan:
for i in range(len(arr)):
print ("%d" %arr(i)),
Låt oss se hur detta beter sig i Python IDE för en djupare förståelse:
Produktion:
Det finns några fakta om Bubble Sort, som alla borde veta innan de implementerar den:
- En bubbelsorter betraktas ofta som en inte bra effektiv sorteringsmetod. Eftersom det måste bytas ut föremål tills dess slutliga plats är känd. Allt detta leder till slöseri med verksamheten och därmed mycket kostsamt. Denna algoritm passerar genom varje element, där sortering krävs eller inte krävs. När körningen passerar utan någon swap betraktas bubbelsorter som fullbordad.
- Detta är det enklaste bland alla datastrukturer, för alla nybörjare ger detta gott förtroende. Det är lätt att konstruera och förstå.
- Det använder mycket tid och minne.
- Detta anses vara en stabil algoritm, eftersom den bevarar den relativa ordningen för element.
- Betraktas som bra för liten grupp / lista. Men det är en dålig idé att använda den för långa.
Slutsats
Genom att gå igenom ovanstående innehåll av bubbelsorter, kunde man ha fått kristallklar förståelse för denna sorteringsalgoritm, specialiserad med python. En gång blir man bekväm med bubblasortering, att förstå den andra uppsättningen av datastrukturer blir då enklare. En logisk metod är det enda sättet att utmärka sig inom datastrukturen. Att förstå först logiken i datastrukturalgoritmen i varje steg och sedan inriktning på dess kod genom Python eller på något annat språk bör vara vägen.
Rekommenderade artiklar
Detta är en guide till Bubble Sort i Python. Här diskuterar vi den logiska implementeringen av bubbelsortering via pythonkoden med förklaringen. Du kan också titta på följande artikel för att lära dig mer -
- Loops i Python
- Python-filoperationer
- Palindrome i Python
- 3D-matriser i Python
- Python-funktioner
- Byta in PHP
- 3D-matriser i C ++
- Palindrome i C ++
- Palindrome i JavaScript
- Hur fungerar matriser och listor i Python?