|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Felsökning
  • Datorvirus
  • konvertera filer
  • laptop Support
  • laptop Felsökning
  • PC Support
  • PC Felsökning
  • lösenord
  • Felsökning datafel
  • Avinstallera Hardware & Software
  • Google
  • VPN
  • Videos
  • AI
  • ChatGPT
  • OpenAI
  • Gemini
  • Browser
  • * Dator Kunskap >> Felsökning >> PC Felsökning >> Content

    Vad är Insertion Sort Algorithm [Förklarat med praktiskt exempel]

    # Insättningssorteringsalgoritm

    Översikt

    Insättningssortering är en enkel sorteringsalgoritm som fungerar genom att infoga varje element i en array i dess korrekta position i arrayen. Den börjar med en tom sorterad array och itererar sedan genom inmatningsarrayen, och infogar varje element i sin korrekta position i den sorterade arrayen. Denna process upprepas tills hela inmatningsmatrisen är sorterad.

    Algorithm Steg

    Här är steg-för-steg-algoritmen för sortering av infogning:

    1. Börja med en tom sorterad array.

    2. Iterera genom inmatningsmatrisen.

    3. För varje element i inmatningsmatrisen, infoga det på rätt plats i den sorterade matrisen.

    4. För att infoga ett element, jämför det med varje element i den sorterade matrisen, börja med det första elementet.

    5. Om elementet är mindre än det aktuella elementet i den sorterade arrayen, infoga det före det aktuella elementet.

    6. Om elementet är större än det aktuella elementet i den sorterade arrayen, fortsätt att jämföra med nästa element i den sorterade arrayen.

    7. Upprepa steg 4-6 tills elementet har satts in på rätt plats i den sorterade arrayen.

    8. Upprepa steg 2-7 för varje element i inmatningsmatrisen.

    Exempel

    Låt oss överväga följande inmatningsmatris:

    ```

    [5, 2, 8, 3, 1]

    ```

    Följande steg visar hur sorteringsalgoritmen för infogning skulle sortera denna matris:

    1. Börja med en tom sorterad array.

    ```

    []

    ```

    2. Iterera genom inmatningsmatrisen.

    ```

    [5]

    ```

    3. För varje element i inmatningsmatrisen, infoga det på rätt plats i den sorterade matrisen.

    ```

    [5]

    ```

    4. För att infoga element 2, jämför det med varje element i den sorterade arrayen, börja med det första elementet.

    ```

    [5, 2]

    ```

    5. Eftersom 2 är mindre än 5, sätt in det före det aktuella elementet.

    ```

    [2, 5]

    ```

    6. Iterera genom inmatningsmatrisen.

    ```

    [2, 5, 8]

    ```

    7. För varje element i inmatningsmatrisen, infoga det på rätt plats i den sorterade matrisen.

    ```

    [2, 5, 8]

    ```

    8. För att infoga element 3, jämför det med varje element i den sorterade arrayen, börja med det första elementet.

    ```

    [2, 3, 5, 8]

    ```

    9. Eftersom 3 är mindre än 5, sätt in det före det aktuella elementet.

    ```

    [2, 3, 5, 8]

    ```

    10. Iterera genom inmatningsmatrisen.

    ```

    [2, 3, 5, 8, 1]

    ```

    11. För varje element i inmatningsmatrisen, infoga det på rätt plats i den sorterade matrisen.

    ```

    [1, 2, 3, 5, 8]

    ```

    12. För att infoga element 1, jämför det med varje element i den sorterade arrayen, börja med det första elementet.

    ```

    [1, 2, 3, 5, 8]

    ```

    13. Eftersom 1 är mindre än 2, infoga den före det aktuella elementet.

    ```

    [1, 2, 3, 5, 8]

    ```

    14. Den sorterade arrayen är nu klar.

    ```

    [1, 2, 3, 5, 8]

    ```

    Tidskomplexitet

    Tidskomplexiteten för insättningssorteringen är O(n^2), där n är längden på inmatningsmatrisen. Detta innebär att körtiden för insättningssorteringen ökar kvadratiskt när storleken på inmatningsmatrisen ökar. Insättningssortering fungerar bäst när inmatningsmatrisen redan är nästan sorterad, i vilket fall dess tidskomplexitet är O(n).

    Rymdens komplexitet

    Insättningssortering kräver O(1) hjälputrymme, eftersom det bara behöver lagra en enda variabel (det aktuella elementet som infogas) utöver inmatningsmatrisen.

    Fördelar och nackdelar

    Insättningssortering har några fördelar och nackdelar:

    Fördelar:

    * Enkel att implementera

    * Effektiv för små arrayer eller nästan sorterade arrayer

    * Stabil sorteringsalgoritm (upprätthåller den relativa ordningen av lika element)

    Nackdelar:

    * Inte effektivt för stora arrayer

    * Kvadratisk tidskomplexitet (O(n^2))

    * Inte en på plats sorteringsalgoritm (kräver extra utrymme)

    Slutsats

    Insättningssortering är en enkel och effektiv sorteringsalgoritm som fungerar bra för små arrayer eller nästan sorterade arrayer. Dess enkelhet och stabilitet gör den till en användbar algoritm för utbildningsändamål och för specialiserade applikationer. Det är dock inte den mest effektiva sorteringsalgoritmen för stora arrayer, där effektivare algoritmer som quicksort eller merge sort bör användas.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Guiding Tech - Hur man artiklar, köpguider för prylar…
    ·Mitt ljud fungerar inte längre efter installation Uppd…
    ·Hur beskära och ändra storlek på bilder i WordPress?…
    ·Hur fixar jag en Windows Update som inte kan visas på …
    ·Hur man vet om en CMOS- batteri är dåligt
    ·Hur kör jag en återhämtning disk för en eMachine Ut…
    ·Hur man kan öka virtuellt minne för att hjälpa Graph…
    ·Hur man skickar memes på Snapchat
    ·Hur man visar borttagna meddelanden i Viber
    ·Hur Torka en hårddisk för en MacBook Pro
    Utvalda artiklarna
    ·Inaktivera InstallShield
    ·Hur stoppar jag automatiska appuppdateringar i iPhones?…
    ·Hur bli av Svchost
    ·Ställa Active X -kontroller
    ·Hur man kan öka virtuellt minne i Windows 2003
    ·Avinstallera Winbutler Med HijackThis
    ·Är Minecraft Cross-Platform? För det mesta, ja
    ·Hur Kopiera en startbar CD till en bootbar DVD
    ·Hur man bort ett oönskat verktygsfält
    ·Så kolla om du har blivit hackad
    Copyright © Dator Kunskap http://www.dator.xyz