| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Turbo C Sortering Metoder
    Sortering et array af data er et af de klassiske problemer i datalogi, og så det burde ikke komme som nogen overraskelse, at en bred vifte af metoder til sortering i Turbo C og andre sprog er blevet undfanget. De spænder fra ineffektive , men enkel at implementere metoder til meget hurtigere, men mere komplekse metoder. Den bedste algoritme til en situation , afhænger af den forventede størrelse af de data , der skal sorteres og betydningen af ​​effektivitet. Bubble Sort

    Bubble Sort er den enkleste og langsomste , sortering algoritme. Det er simpelthen fortsætter gennem array, sammenligner det aktuelle element til elementet direkte foran det . Hvis disse to elementer er ude af drift , at de bytter plads . Når Bubble Sorter når enden , kontrollerer det, om der er noget ændret steder. Hvis det gjorde, det starter forfra . Det fortsætter looping gennem array , indtil det lykkes at fuldføre en fuld pass uden at gøre noget swapping. I gennemsnit tager det O (n ²) tid , men hvis dataene er kendt for at være meget næsten sorteres , med måske kun et element ud af plads , kan det arbejde i O (n ) . Så det er en god metode til små arrays, der ikke er sorteret ofte eller større arrays , der er kendt for at være allerede sorteret ( eller næsten så ) det meste af tiden .
    Selection Sort
    < br >

    Selection slags er lidt mere raffineret end Bubble Sort. Algoritmen fortsætter gennem hele vifte af data for at finde det mindste element . Hvor dette element er, det har sin position byttes med det første element , og en tæller bemærker, at det første element i arrayet er kendt for at være korrekt sorteret. Det fortsætter derefter gennem hele systemet igen , bortset fra den første element ( som er kendt for at være i det korrekte sted . ) Når den finder den laveste element , flyttes det til det andet sted og øger tælleren at angive, at de to første elementer er kendt for at blive sorteret . Samlet set Selection Sorter arbejder i O ( n ²) tid , men det har en fordel: på de fleste, kun n- 1 ændrer nogensinde sker for array, da hvert element kun bevæges , når dens position er kendt. Dette gør det til en god algoritme i nogle eksotiske situationer, hvor at skrive data til hukommelsen tager drastisk længere end at læse den.
    Quicksort

    Som navnet antyder, QuickSort er hurtig. I gennemsnit kan det udføre en slags i O (n log n ) tid. Men det er meget mere kompleks end mange andre programmer, og kræver, at bygherren vide lidt om de data i array , før hånden . Først en " pivot value" skal vælges . Dette er den værdi , at bygherren mener er tæt på medianen af ​​alle værdierne i matrixen . Jo bedre pivot værdi , jo hurtigere Quicksort vil udføre . Derefter er array opdelt i to grupper: dem over pivot værdien flyttes til højre side , og dem under pivot værdi flyttet til venstre side. Forhåbentlig de to sider er tæt på at være ens i størrelse , men de behøver ikke at være præcis den samme . Endelig quicksort algoritmen starter forfra på hver side, med nyt valgt pivot værdier og disse halvdele er efterhånden opdelt i kvartaler. Når quicksort har opdelt array så hver sektion har kun én værdi , er array blevet sorteret .

    Som de fleste rekursive algoritmer , kan dette være svært at visualisere , så du opfordres til at se trin-for trin - eksemplet i den tredje reference.

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan Find ud af, om en række eller kolonne er marker…
    ·Konvertering af en negativ værdi for at Positiv i C + …
    ·Sådan Afsætte en 2D array ved hjælp malloc 
    ·Hvordan man laver en VSH Filer 
    ·Hvordan man organiserer en liste ved hjælp Structs i C…
    ·Sådan bruges Pointers i C + + 
    ·Sådan Konverter CPP til DLL 
    ·Sådan Henvisning et billede i C + + 
    ·Sådan kører en Cpp Filer 
    ·Hvordan laver man en EXE i Notesblok 
      Anbefalede Artikler
    ·Sådan Stop MySQL Med Ubuntu 
    ·Hvordan kan jeg Shift data i ADT 
    ·Sådan bruges Case Tutorials 
    ·Sådan udføres File I /O i C + + 
    ·Sådan Strip Skråstreger Med PHP 
    ·Sådan Konverter en Byte Array til en streng med VB.Net…
    ·Sådan Lær PHP Online 
    ·Hvordan man skriver Visual Basic Array data til en teks…
    ·Sådan Konverter PHP Array Index til Numbers 
    ·Sådan Konverter en HTML e-mail til almindelig tekst på…
    Copyright © Computer Viden http://www.computerdk.com