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 >> C /C + + Programming >> Content
    Turbo C sorteringsmetodene
    Sortering en rekke data er en av de klassiske problemene i informatikk , og så det burde ikke komme som noen overraskelse at en rekke metoder for sortering i Turbo C og andre språk har blitt unnfanget . De spenner fra ineffektive , men enkel å implementere metoder til mye raskere, men mer komplekse metoder. Den beste algoritme for en situasjon avhenger av den forventede størrelse til datasettet som skal sorteres og viktigheten av effektivitet . Bubble Sorter

    Bubble Sorter er den enkleste og tregeste , sortering algoritme . Den fortsetter ganske enkelt gjennom matrisen, å sammenligne det aktuelle element til element direkte foran den. Hvis disse to elementene er ute av drift , bytter de plass . Når boblen Sorter nådd slutten , sjekker den for å se om noe forandret steder. Hvis den gjorde det, starter det på nytt fra begynnelsen . Det fortsetter looping gjennom utvalget før den klarer å fullføre en full pass uten å gjøre noe bytte . I gjennomsnitt tar dette O ( n ² ) tid , men hvis dataene er kjent for å være svært nær sortert, med kanskje bare ett element malplassert , kan dette fungere i O ( n). Så det er en god metode for små matriser som ikke er sortert ofte eller større matriser som er kjent for å være allerede sortert (eller svært nær dette ) mesteparten av tiden .
    Selection Sorter

    Selection typen er litt mer raffinert enn Bubble Sort. Algoritmen fortsetter gjennom hele matrisen med data for å finne den minste elementet . Uansett hvor det elementet er , har det sin posisjon byttet med det første elementet , og en teller bemerker at det første elementet i matrisen er kjent for å være riktig sortert. Det deretter fortsetter gjennom hele matrisen igjen , bortsett fra det første elementet ( som er kjent for å være på riktig plass . ) Når den finner det minste element , flyttes den til det andre sted og øker telleren for å indikere at de to første elementer er kjent for å bli sortert . Totalt sett fungerer Selection Sorter i O ( n ² ) tid , men det har en fordel: på det meste, bare n- 1 endringer gang skje til array , siden hvert element er bare flyttes når sin posisjon er kjent. Dette gjør det en god algoritme i noen eksotiske situasjoner der skriver data til minnet tar drastisk lengre enn å lese den.
    Quicksort
    p Som navnet tilsier , den quicksort er rask . I gjennomsnitt kan det utføre en slags i O ( n log n ) tid . Men det er mye mer kompleks enn mange andre programmer og krever at utvikleren vet litt om dataene i matrisen før hånden. Først en " pivot verdi " må velges . Dette er den verdien som utbygger mener er nær medianen av alle verdiene i tabellen. Jo bedre pivot verdi , jo raskere quicksort skal utføre. Deretter blir matrisen delt inn i to grupper: de over pivot verdi er flyttet til høyre side , og de ​​under pivot verdi flyttes til venstre side. Forhåpentligvis , de to sidene er nær ved å være lik i størrelse , men de trenger ikke å være akkurat det samme. Til slutt , begynner quicksort algoritmen over fra bunnen på hver side , med ny dreietapp verdier valgt , og disse halvdeler er slutt delt i fire deler . Når quicksort har delt matrisen slik at hver seksjon har én verdi , har matrisen er sortert .

    Som de fleste rekursive algoritmer , kan dette være vanskelig å visualisere , så du oppfordres til å se trinnvis - eksempelet gitt i tredje referanse.

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan finne ressursene for å lære Xcode for iPhone …
    ·En Tutorial på Microsoft Visual Studio C + + 
    ·Hvordan bruke strtok funksjon i C + + 
    ·Slik importerer modeller i GTK Radiant 
    ·Ring Funksjon Object C + + Syntax 
    ·Hvordan sende en tekst Socket i UDP på Linux 
    ·Sette inn en forsinkelse på sekunder for C + + 
    ·Hvordan Fake en malkoden 
    ·Hvordan åpne en PDF i C # 
    ·Hvordan ha nullable Variabler 
      Anbefalte artikler
    ·Faser av OMT 
    ·Hvordan oppdage en hendelse med WIA Vent 
    ·Slik installerer du en C Run -time Bibliotek 
    ·Hvordan gjøre en Faktorielle i CPP 
    ·PHP Array Sorter Funksjon 
    ·Hvordan Beregn Transfer Funksjoner av fysiske systemer …
    ·Hvordan forbedre matematisk beregning på PHP 
    ·Hvordan bygge spørringer i PHP 
    ·Hvordan lage en matrise og fyll den med tilfeldige tall…
    ·Hvordan Koble en liste til en Swing Tekstområde 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/