Anteprima
Vedrai una selezione di 5 pagine su 20
Algoritmica Pag. 1 Algoritmica Pag. 2
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Algoritmica Pag. 6
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Algoritmica Pag. 11
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Algoritmica Pag. 16
1 su 20
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Algoritmi - specifica della procedura di soluzione di un problema aritmetico

La specifica è fatta per passi

  • Descrizione a parole
  • Descrizione a schema a blocchi: le istruzioni singole vengono inserite all'interno di un blocco rettangolare

Noi useremo la rappresentazione a PSEUDOCODICE

L'algoritmo sta a metà tra il problema e il programma

  • alg 1 - programma
  • alg 2 - programma
  • alg 3 - programma

Descrizione con un programma di programmazione C, C++, Java, Pascal

ETIMOLOGIA - dal matematico persiano AL KWARITSMI (800-900 dc)

Però l'algoritmo vero e proprio ha una testimonianza ancora più antica nel papiro di AKMES del 200 AC (algoritmo non standard per le moltiplicazioni).

Questo algoritmo basava le operazioni su moltiplicazioni e divisioni per due, questo perché, utilizzando l'abaco, facevano solo divisioni intere.

MOLTIPLICAZIONE EGIZIA (A,B)

ipotesi A > B

P = 0;

While (A > 0) {

  • If (A%2!=0) P = P+B;
  • A = A/2;
  • B = B * 2;
  • } return P
A B P 25 13 0 12 26 13 6 52 13 3 104 13 1 208 117 0 325

13

13

75

25

325

Unità aritmetologica (Il computer usa questo algoritmo)

L'algoritmo deve essere scritto in un modo chiaro per l'esecutore

Le istruzioni che useremo:

  • while condizione {
    • blocco di istruzioni
    • }
  • for (i=0; i<N; i++) {
    • blocco di istruzioni
    • }

istruzione del sottoprogramma

prima istruzione

istruzione di ciclo

istruzione condizionale

istruzione return

Istruzioni pesanti

  • quelle all'interno dei cicli
For (i=0; i<u; i++) { blocco }

Se costo (blocco) = c ⇒ u ⋅ c

while (guarda) { blocco }

Il costo del blocco all'iterazione guarda verificato m volte

ESERCIZIO: Leggo N elementi da input e controllo se c'è il dato Z. print ("Inserisci il numero di elementi Ne2"); read (N, Z); trovato = false; for (i=0; i<N; i++) { print ("inserisci il dato"); read (D); IF (D==Z) trovato = true; else print ("Z non appartiene all'insieme"); }

O(u) ϴ(u)

Ordine e Theta di u

Ordine di grandezza

  • O, Ω, Θ

O(F(u)) è l'insieme delle funzioni g(u) tali che esistano due costanti positive c e u0: g(u) ≤ c·F(u) per u ≥ u0

g(u) = 3u2 + 6u + 5

O(u2)

O grande è un limite superiore a g(u)

Ω(F(u)) è l'insieme delle funzioni g(u) tali che esistano due costanti positive c e u0: g(u) ≥ c·F(u).

Ω è un limite inferiore

Θ(F(u)) se g(u) è O(F(u)) e Ω(F(u))

g(u) è Θ(F(u))

Θ è il limite esatto

  • 7+3 è O(u)? Sì
  • è O(u2)? Sì
  • è Ω(u)? Sì
  • è Θ(u)? Sì
  • è O(logu)? No
  • è Ω(logu)? Sì

ricerca di 2

Ricerca ordinamento

Ric. Sequenziale O(u2) SelectionSort O(u2) SelezionaSort o(1) inPlace STABILE Ric. Sequenziale O(u) InsertionSort O(u2) O(u) inPlace STABILE

L'inferiore

Limite inf. per l'ordinamento è Ω(u log u)

(Alve per animare l'algoritmo)

Funzionano anche con elementi ripetuti

INPUT: 3, 3

OUTPUT: 3, 3, 3

L'algoritmo è stabile se mantiene la posizione relativa degli elementi ripetuti

u = 1

Quante soluzioni? Numero delle permutazioni

Tutte le possibili soluzioni di K! K non esiste

u! + 1 soluzioni

Operazione base: confronto tra elementi

dopo 1 confronto si aprono 3 vie

dopo t confronti si aprono 3t vie

3t ≥ u+1, log3 3t ≥ log3 (u+1), t ≥ log3 (u+1) =

Ω(log u)

limite inferiore

Dettagli
Publisher
A.A. 2013-2014
20 pagine
SSD Scienze matematiche e informatiche MAT/02 Algebra

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Skye07 di informazioni apprese con la frequenza delle lezioni di Algoritmica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Pagli Linda.