| 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 >> Computer Programming Languages >> Content
    Confronto di algoritmi di ordinamento
    Con letteralmente decine di algoritmi di ordinamento disponibili , determinare quale funziona meglio con il vostro sistema dipende confronto di diversi fattori , quali la dimensione della lista , la velocità o la complessità dell'algoritmo , e se si intende utilizzare un tasto per ordinare . Complessità

    La complessità di un algoritmo di ordinamento è misurata da O ( n) , o il " dell'ordine di n ", dove n è la dimensione della lista . Esso misura quanti passaggi ci vuole per ordinare l'elenco e calcola il suo migliore , peggiore e medio tempo per farlo. Complessità comuni includono n come un caso migliore per i tipi come insertion sort e shell sort , n log n , ( con un logaritmo in base 2 , non una base - 10) , che è la complessità di merge sort e heapsort , e n ² , che è più lento del primo tempo ed è la velocità di ordinamento per selezione
    lista Condizione

    volte si saprà come gli articoli ordinati in un elenco sono organizzati . : per esempio , se sono quasi ordinati , in ordine inverso , o una lista con alcuni oggetti unici . Tale conoscenza consente di selezionare un algoritmo efficiente per risolvere la cosa . Ad esempio, utilizzando insertion sort per ordinare una lista in ordine invertito ha un tempo di esecuzione di n ² , mentre heap sort può farlo più velocemente , in n log n tempo . In un elenco che viene quasi allineati , insertion sort è più veloce di heap sort . Quando l'elenco contiene un insieme del tutto casuale di dati , selezionare un algoritmo con complessità nel caso medio di n log n tempo di esecuzione , come heap sort , quicksort o merge sort .
    List Size

    Alcuni algoritmi sono più difficili da usare rispetto ad altri, quindi il numero di elementi in un elenco e con quale frequenza è necessario ordinare le può aiutare a determinare l'algoritmo che sceglierete . Sorta come insertion sort sono veloci e lavorano bene durante l'ordinamento liste più piccole , e sono facili da implementare , ma sono lenti con le liste più grandi. Specie che utilizzano un divide et impera algoritmo come quicksort e merge sort sono più difficili da realizzare , ma le liste sono specie più grandi più veloce nei casi medi .
    Stabilità
    < p > stabilità algoritmo descrive se l'ordinamento mantiene l' ordine degli elementi in base a una chiave di ordinamento . Ad esempio, utilizzando il primo carattere come chiave per una lista che ha " John ", " Steve " e " Jim ", in questo ordine , una stabile sorta algoritmo l'elenco di " John ", " Jim " e " Steve ", mentre un algoritmo instabile può o non può ordinare " Jim " prima di " John ". Merge sort , insertion sort e bubble sort sono tutti gli algoritmi stabili mentre Shell sort , selection sort e heap sort non sono .

    Previous :

    next :
      Articoli Correlati
    ·Come rilevare Stack Overflow 
    ·Come utilizzare la convalida dei dati per popolare una …
    ·Come impostare lo stato attivo per i controlli ASP.NET 
    ·Come ottenere PASCAL Software 
    ·Come decodificare Links bitly 
    ·Errori comuni in HTML Coding 
    ·Come prevenire sovraccarichi del buffer overflow e 
    ·Tipi di WCF Sessions 
    ·Come scrivere segnali periodici in MATLAB 
    ·Come filtraggio di frequenze in LabVIEW 
      Articoli in evidenza
    ·Come copiare un sito web PHP 
    ·Quali sono le funzioni di Turbo C 
    ·Come fare uno script AutoIT Infinite Loop 
    ·Per saperne di diagrammi UML 
    ·Come disinstallare Sun Java JRE 1.6 
    ·Come convertire una mail HTML in testo normale sulla Vb…
    ·Come aggiornare ComboBox sui cambiamenti di altro valor…
    ·Come trovare un elemento di array in Ruby 
    ·Linguaggi utilizzato per computer 
    ·Come creare una casella combinata in Access 
    Copyright © Conoscenza Informatica http://it.wingwit.com