9/03
INTRODUZIONE AL CORSO
ALGORITMO -> procedimento che risolve un determinato problema attraverso un numero finito di passi elementari
STRUTTURA DATI -> particolare organizzazione delle informazioni
EFFICIENZA -> è legata ai modi in cui sono strutturati i dati e ai tempi di esecuzione
CHARLES BABBAGE
MACCHINA DIFFERENZIALE
MACCHINA ANALITICA
macchina programmabile per eseguire ogni genere di calcolo
1° computer al mondo
Creare tabelle ai polinomi utilizzando "il metodo delle differenze"
fu solo progettata
ADA LOVELACE
Collaborò con Babbage per la macchina analitica
avrà previsto la capacità dei computer di andare al di là del calcolo numerico
DEFINIZIONE DI DONALD KNUTH
Tempo di esecuzione di un algoritmo = Somma dei costi x frequenza di ogni operazione
PROBLEMA -> caratterizzato da dati in ingresso su cui poi un algoritmo opera
Qualunque problema formulabile ha un algoritmo che lo risolve? -> NO! Come per esempio "married problem"
HALTING PROBLEM
-> esiste un algoritmo che preso un altro algoritmo e un input, riesce a dire se quell'algoritmo su quel dato input riesce oppure no
SCOPO SISTEMA INFORMATICO
immagazzinamento e recupero dell'informazione
9/03
INTRODUZIONE AL CORSO
ALGORITMO -> procedimento che risolve un determinato problema attraverso un numero finito di passi elementari
STRUTTURA DATI -> particolare organizzazione delle informazioni
EFFICENZA -> è legata al modo in cui sono strutturati i dati e ai tempi di esecuzione
CHARLES BABBAGE
MACCHINA DIFFERENZIALE
MACCHINA ANALITICA -> macchina programmabile per eseguire ogni genere di calcolo
creare tabelle di polinomi utilizzando "il metodo delle differenze"
1° computer al mondo
fu solo progettata
ADA LOVELACE
Collaborò con Babbage per la macchina analitica
aveva previsto la capacità dei computer di andare al di là del calcolo numerico
DEFINIZIONE DI DONALD KNUTH
Tempo di esecuzione di un algoritmo
= Somma dei Costi × frequenza di ogni operazione
PROBLEMA -> caratterizzato da dati in ingresso su cui poi un algoritmo opera
Qualunque problema formulabile ha un algoritmo che lo risolve? -> NO!
Come per esempio "matrix problem"
HALTING PROBLEM -> esiste un algoritmo che preso un altro algoritmo e un input, riesce a dire se quell'algoritmo su quel dato input si possa fermare o no
SCOPO SISTEMA INFORMATICO -> immagazzinamento e recupero dell'informazione
Principio di induzione aritmetica
∀ intero u≥c
Se P è vera per u allora P è vera per u+1
fessi: tutti gli interi k≥c godono della proprietà P
2 passaggi:
- passo base → dimostra che c gode di P
- passo induttivo → assumo che k gode di P e dimostro che anche k+1 gode di P
Somma(toria) primi n numeri
Sn = ∑nt=1 = (u (u+1)) / 2
Logaritmi
logbx=y b → base
by = x x → argomento
log0? log-u? esistono
Proprietà
- logb(xy)=logbx + logby
- logb(x/y)=logbx - logby
- logb(xu)=ulogbx
- logb(b)=1
- logb(1)=0
- logb(bu)=u
Proprietà cambiamento di base
a>0 a≠1
logb(x) = loga(x)/loga(b) oppure logb(x) = u⁄u b
è una costante
1/logab = c → logax = c * logax
- Possiamo cambiare la base se nei nostri calcoli le costanti moltiplicative non sono interessanti ai fini del calcolo
Dimostrazione per induzione (Sommatoria)
∀u ≥ 1 ∑i=1u i = u(u+1)/2
Passo base
∑i=11 i = 1(1+1)/2 ? → 1 = 1 Sì
Passo induttivo
∑i=1u+1 i = u+1((u+1)+1)/2 = (∑i=1u i) + u+1 = u(u+1)/2 + u+1
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Algoritmi e Strutture Dati
-
Algoritmi e strutture dati
-
Algoritmi e strutture dati
-
Algoritmi e strutture dati - Schema algoritmi