Un algoritmo è un discreto , insieme inequivocabile di operazioni che produce risultati . Avete visto e affrontato con algoritmi di tutta la vostra vita in modi sottili e palesi , sono quello che si usa quando si fanno aritmetica, che cosa permette ai filtri anti-spam e motori di ricerca per fare il loro lavoro e quello che si segue quando si utilizza una ricetta o di osservare la guida direzioni. Ben ordinata
Per essere un algoritmo praticabile , le istruzioni o le operazioni da eseguire devono andare in un certo ordine . I passaggi devono essere chiari in modo che un computer li può eseguire nel corretto ordine . Ad esempio, per alfabetizzare una collezione di libri , la vostra prima istruzione potrebbe definire l'operazione di ricerca di un nome per essere alfabetizzato . La seconda istruzione il processo potrebbe dare un punto di partenza designando ove sullo scaffale per iniziare la sequenza alfabetica. Un'istruzione successiva può quindi dire che cosa fare con un libro se si tratta prima o dopo in alfabeto di un libro già sullo scaffale .
Definite & Doable
non solo deve un algoritmo specificare la sequenza di eventi e di ciò che ogni passo richiede , l' algoritmo deve essere anche performable . Le operazioni devono essere calcolabile e senza ambiguità: . Operazioni "impossibili" - come ad esempio la divisione di un numero per 0 - Non sono ammessi
orientato ai risultati
in linea con le esigenze di doability e determinatezza , un algoritmo è orientata verso un risultato finale , che come uscita. I dati devono essere il risultato dei calcoli eseguiti , altrimenti non si sarebbe in grado di dire se i comandi sono stati efficaci o meno.
Finiti
algoritmi sono progettati per terminare e non andare avanti all'infinito . Mentre un comando potrebbe tecnicamente essere eseguito all'infinito , questo non sarebbe un algoritmo fattibile o utile . Un algoritmo deve alla fine essere detto quando fermarsi e di essere completo .