Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Jämförelse av sorteringsalgoritmer

    Med bokstavligen dussintals sortering algoritmer som finns , avgöra vilka som fungerar bäst med ditt system beror på jämförelser av flera faktorer , såsom storleken på listan , hastigheten eller komplexitet algoritmen , och om du vill använda en nyckel för att sortera . Komplexitet

    komplexitet ett sorteringsalgoritm mäts med O ( n ) , eller den " ordning n ", där n är storleken på listan . Den mäter hur många passerar det tar att sortera listan och beräknar sitt bästa , sämsta och genomsnittlig tid för att göra det . Vanliga komplikationer inkluderar N som en bästa fallet för sorterar såsom införing sortera och skal sortera , n log n , ( användning av en bas - 2 logaritmen , inte en bas - 10 ), som är komplexiteten för sammanslagningsreplikering sortera och heapsort , och N ^ , vilket är långsammare än den första gången och är hastigheten för val Sortera
    lista skick

    Ibland kommer du att veta hur de osorterade objekt i en lista är organiserade . : till exempel , om de är nästan sorteras i omvänd ordning , eller en lista med några unika objekt . Sådan kunskap hjälper dig att välja en effektiv algoritm för att sortera det . Till exempel använder insättning sortera att sortera en lista i omvänd ordning har en speltid på n ² , medan heap sort kan göra det snabbare , i n log n tid . På en lista som nästan är sorterad , är införandet sortera snabbare än heap sort . När listan innehåller en fullständigt randomiserad uppsättning data , välja en algoritm med ett genomsnittligt ärende komplexitet n log n gångtid , såsom heap sort , quicksort eller sammanfoga sort .
    Liststorlek

    Vissa algoritmer är svårare att använda än andra , så antalet element i en lista och hur ofta du behöver sortera kan hjälpa till att avgöra den algoritm du väljer . Sorterar som insättning sort är snabb och fungerar bra när du sorterar mindre listor , och är lätta att genomföra , men de är långsamma med större listor . Sorterar som använder en söndra - och - erövra algoritm som quicksort och merge sort är svårare att genomföra , men de sorterar större listor snabbare i genomsnitt fall .
    Stabilitet

    algoritm stabilitet beskriver huruvida sortera upprätthåller ordningen på objekt baserat på en sortering nyckel . Till exempel använder det första tecknet som en nyckel för en lista som har "John ", " Steve " och " Jim " i den ordningen , en stabil algoritm sorteras listan till "John ", " Jim " och " Steve ", medan en instabil algoritm kan eller inte kan sortera " Jim " innan " John ". Merge sort , insertion sort och bubble sort är alla stabila algoritmer medan skalet sort , selection sort och heap sort inte . Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur Cache Extern Javascript
    ·Hur man bygger COBOL Webbservrar
    ·Hur man använder en tvåkomplement i en Bit Shift
    ·Hur man gör en HTML- sträng i Objective C
    ·Frågor som springa snabbare i rumsliga databaser
    ·Hur man gör en anfang Första bokstaven i HTML
    ·Hur du formaterar Algoritmer
    ·Hur date Kolla in SQL
    ·Hur man skriver och konvertera pund mot Uns i Computer …
    ·Hur raderar mellanslag i en sträng i Groovy
    Utvalda artiklarna
    ·Hur man gör ett torg i QuickBasic
    ·Hur man skriver ett Pseudokod Kod Script
    ·Hur man gör en paus Script i Game Maker 5
    ·Hur man använder en Web Service i en SSIS Data Flow
    ·Hur man bygger en Annonser webbplats
    ·Hur man gör den grafiska Borders
    ·Hur du fyller bonjour.msi
    ·Vad är VB.NET 2005
    ·Hur man skickar ett SMS med PHP Script
    ·Definitionen av en Untrapped Runtime Error
    Copyright © Dator Kunskap http://www.dator.xyz