Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Computer Programmeringsspråk >> Content
    Sammenligning av Sortering Algoritmer
    Med bokstavelig talt dusinvis av sortering algoritmer tilgjengelig, bestemme hvilke som fungerer best med ditt system vil avhenge av sammenligninger av flere faktorer, som for eksempel størrelsen på listen , hastigheten eller kompleksitet av algoritmen , og om du vil bruke en nøkkel til å sortere . Kompleksitet

    Kompleksiteten i en sortering algoritme er målt ved O ( n ) , eller " orden n ", der n er størrelsen på listen . Den måler hvor mange passerer det tar å sortere listen og beregner sitt beste, verste og gjennomsnittlig tid til å gjøre det. Vanlige kompleksiteten innbefatter N som en beste tilfelle for sorterer som for eksempel innsetting av slag og skallet sorter , n log n, (ved hjelp av en base -2 logaritme, ikke en base -10 ), som er kompleksiteten for flettingen slag og heapsort , og n ² , som er tregere enn første gang, og er hastigheten for utvalget slags
    List Tilstand

    Noen ganger vil du vite hvordan usorterte elementer i en liste er organisert. : for eksempel , enten de er nesten sorteres , i omvendt rekkefølge, eller en liste med par unike elementer . Slik kunnskap hjelper deg å velge en effektiv algoritme for å sortere det . For eksempel bruker innsetting slag for å sortere en liste i omvendt rekkefølge har en kjøretid på n ² , mens haug typen kan gjøre det raskere , i n log n gang . På en liste som er nesten sortert, er innsetting slags raskere enn heap slag. Når listen inneholder en helt tilfeldig sett av data , velg en algoritme med en gjennomsnittlig tilfelle kompleksitet n log n kjører tid, for eksempel heap sortere, quicksort eller flette slag.
    List Size

    Noen algoritmer er vanskeligere å bruke enn andre, slik at antall elementer i en liste, og hvor ofte du trenger å sortere kan bidra til å bestemme den algoritmen du vil velge . Sorterer som innsetting typen er rask og fungerer godt når sortering mindre lister , og er enkle å implementere, men de er trege med større lister . Sorterer som bruker en splitt og hersk algoritme som quicksort og merge typen er vanskeligere å gjennomføre , men de slags større lister raskere i gjennomsnitt tilfeller.
    Stabilitet
    < p > algoritme stabilitet beskriver om den slags opprettholder rekkefølgen av elementer basert på en sortering tasten. For eksempel bruker det første tegnet som en nøkkel for en liste som har " John ", " Steve" og " Jim" i den rekkefølgen, en stabil algoritmen sorterer listen til " John ", " Jim" og " Steve ", mens en ustabil algoritme kan eller ikke sortere " Jim " før " John ". Flette sortere, innsetting sortere og boble typen er alle stabile algoritmer mens skallet sortering, utvalg sortere og heap slags ikke .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan flytte VARCHAR2 til NCLOB 
    ·Hvordan lage dataanimasjon 
    ·Hvordan lage et plott Mens i en Loop i MATLAB 
    ·Hvordan overvåke JVM Med Nagios 
    ·Definisjon av COBOL Comp - 3 
    ·Silverlight Sockets Tutorial 
    ·Hvordan lage en MSN Bot 
    ·Hva er logisk øringen 
    ·Definisjon av en Dell Optiplex GX1 Command Tolk 
    ·Hvordan lagre data fra BASIC Stamp 
      Anbefalte artikler
    ·Hvordan bruker programmerere klasse attributter og meto…
    ·Hvordan implementere flere Stacks 
    ·Slik konverterer heltall i PHP 
    ·Dreamweaver PHP Update Form Tutorial 
    ·Slik installerer Android 2.3 Bruk SDK 
    ·Computer Engineering Design Prosjekter 
    ·Slik konverterer en PHP Timestamp til et Dato 
    ·Hvor å Sjekk Variable klasser i Python 
    ·Hvordan redigere en OCX File 
    ·PLS-programmering Instruksjoner 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/