| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Turbo C metodi di ordinamento
    Ordinamento di un array di dati è uno dei classici problemi di informatica , e quindi dovrebbe venire come nessuna sorpresa che una grande varietà di metodi per l'ordinamento in Turbo C e di altri linguaggi sono stati concepiti . Si va dai metodi inefficienti , ma semplice da implementare a metodi molto più veloce ma più complesso . Il miglior algoritmo per una situazione dipende dalla dimensione prevista del set di dati da ordinare e l'importanza di efficienza . Bubble Sort

    Il Bubble Sort è il più semplice , e più lento , algoritmo di ordinamento . Si procede semplicemente attraverso l'array , confrontando l'elemento corrente all'elemento direttamente di fronte. Se questi due elementi sono in ordine, si passa posti . Quando il Bubble Sort raggiunge la fine , esso controlla per vedere se qualcosa luoghi modificati. Se così fosse , si ricomincia da capo. Si continua in loop attraverso l'array fino a quando non riesce a completare un passaggio completo senza fare alcun swapping. In media , questo richiede O ( n ² ) tempo, ma se il dato è noto per essere molto quasi ordinato , con forse solo elemento fuori posto , può funzionare in O ( n) . Quindi è un buon metodo per piccoli array che non sono allineati spesso o array più grandi che sono noti per essere già ordinati ( o quasi ) la maggior parte del tempo .
    Selection Sort

    ordinamento per selezione è un po 'più raffinato del Bubble Sort . L'algoritmo procede attraverso l'intera matrice di dati per trovare l'elemento più piccolo . Dovunque che elemento è , ha la sua posizione scambiato con il primo elemento , e un contatore rileva che il primo elemento della matrice è conosciuto per essere adeguatamente risolto . Si procede poi attraverso l' intero array nuovo, tranne per il primo elemento ( che è noto per essere nel posto giusto . ) Quando trova l'elemento più basso , si sposta nella seconda posizione e aumenta il contatore per indicare che i primi due elementi siano noti da ordinare. Nel complesso, il Selection Sort lavora a O (n ²) tempo , ma ha un vantaggio: al più, solo n- 1 cambia mai passato per l'array , dal momento che ogni elemento viene spostato solo se la sua posizione è nota . Questo lo rende un buon algoritmo in alcune situazioni esotiche dove la scrittura dei dati nella memoria prende drasticamente più lungo di leggerlo .
    Quicksort

    Come suggerisce il nome , il QuickSort è veloce . In media , si può eseguire un ordinamento a O (n log n). Ma è molto più complesso di molti altri programmi e richiede che lo sviluppatore conosce un po ' i dati nella matrice prima mano . In primo luogo , deve essere scelto un "valore pivot" . Questo è il valore che lo sviluppatore crede è vicino alla mediana di tutti i valori nella matrice . Il migliore è il valore pivot , il più veloce è il Quicksort si esibirà . Quindi , la matrice è divisa in due gruppi: quelli al di sopra del valore pivot vengono spostati sul lato destro , e quelli al di sotto del valore pivot vengono spostati verso il lato sinistro . Speriamo che le due parti sono vicini a parità di dimensioni, ma non hanno bisogno di essere esattamente lo stesso . Infine , l'algoritmo quicksort ricomincia da zero su ogni lato , con il nuovo perno valori scelti , e queste due metà vengono divise in quarti . Quando il quicksort ha suddiviso la matrice in modo che ogni sezione ha un solo valore , l'array è stato ordinato .

    Come algoritmi ricorsivi più , questo può essere difficile da visualizzare , quindi si sono incoraggiati a vedere il passo- passo - esempio dato nel terzo riferimento .

    Previous :

    next :
      Articoli Correlati
    ·Tutorial componente ActiveX 
    ·Come fare descrittori di file in C 
    ·Come creare il tuo Game Engine 
    ·Come collegare C # per MS Excel 
    ·Che cosa è Microsoft Visual Studio 6.0 
    ·Come aprire un file in C + + per la lettura 
    ·Come creare un vettore di stringhe in C + + 
    ·Come determinare se una data è un concetto valido in u…
    ·Come convertire e decodificare HTML ad una stringa su i…
    ·Come scrivere un programma C che leggerà in un file di…
      Articoli in evidenza
    ·L'uso di costanti non definite in PHP 
    ·Come fare Facebook Connetti con PHP 
    ·Come aggiungere ogni elemento di una lista in Python 
    ·Come faccio a formattare date in VBS 
    ·Metodi di callback 
    ·Come utilizzare un App Engine di Google in Eclipse 
    ·Come progettare un account classe denominata in C + + 
    ·SQL String Tutorial 
    ·Come scaricare un file bitmap in Android SDK 
    ·Come calcolare la percentuale di caratteri in Java 
    Copyright © Conoscenza Informatica http://it.wingwit.com