Anteprima
Vedrai una selezione di 17 pagine su 77
Algoritmi e strutture dati Pag. 1 Algoritmi e strutture dati Pag. 2
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 6
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 11
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 16
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 21
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 26
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 31
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 36
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 41
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 46
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 51
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 56
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 61
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 66
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 71
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Algoritmi e strutture dati Pag. 76
1 su 77
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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° calcolatore al mondo

ADA LOVELACE

Collaborò con Babbage per la macchina analitica

avrebbe previsto la capacità del computer di elaborare 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 dai dati, il processo su cui poi un algoritmo opera

Qualunque problema formulato ha un algoritmo che lo risolve? NO! Cauci per esempio "matematical problems"

HALTING PROBLEM

Esiste un algoritmo che prenda un altro algoritmo e un input e riesce a dire se su quel algoritmo e su quel input si diverge oppure no

SCOPI 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

Fasi: tutti gli interi k ≥ c godono della proprietà P

  1. Passo base: dimostra che c goda di P
  2. Passo induttivo: assumo che k goda di P e dimostro che anche k+1 gode di P

Somma dei Primi N Numeri

Su = Σ t=1 = u(u+1)/2

Logaritmi

logb x = 4     b -> base     x -> argomento

b4 = x

log4 ?     log-u ? esistono

μ = log3 (x)

μ = log2 (x)

Proprietà

  1. logb (xι) = logb x + logb u
  2. logb (x/ι) = logb x - logb ι
  3. logb (x) = -ι logb x
  4. logb (b) = 1
  5. logb (1) = 0
  6. logb (bμ) = μ

Proprietà Cambiamento di Base

a > 0 a ≠ 1

logb (x) = loga (x)/loga (b)    oppure    logb (x) = ln x/ln b

è una costante

1/loga b = c     => loga x = c * loga x

Possiamo cambiare la base se nei nostri calcoli le costanti moltiplicative non sono interessanti ai fini del calcolo.

4103

MODULARITÀ E INFORMATION HIDING

MODULO → qualunque cosa che può essere utilizzato per realizzazione di un'astrazione

  • può esportare simboli, dati, identificativi
  • può importare dati, funzioni, identificativi
  • definisce l'unico ambiente di visibilità

Interfaccia e corpo sono separati.

  • implementazione

Specificare cosa fa il modulo.

MECCANISMI PER MODULARIZZARE IL CODICE

  • compilazione separata
  • inclusione testuale
  • uso prototipi funzioni
  • uso namespace

3 file diversi per ogni codice

  • file header → define/includetypedefsvariabili globaliprototipi funzioni
  • file ausiliario → codice che implementainterfaccia dei prototipi delle funzioni
  • main → chiama le funzioni

INFORMATION HIDING

→ nascondere all'utente quanti più dettagli implementativi possibili.

  • L'utente vede solo l'interfaccia ed non gli deve importare del corpo.

INTERFACCIA → deve essere minimale e stabile nel tempo.

Il corpo può cambiare.

LISTE CIRCOLARI CON SENTINELLA

Il primo elemento non è un informazione ma una sentinella. In questo modo il primo elemento della lista non cambia mai.

CREAZIONE LISTA VUOTA

La lista vuota è rappresentata solo dalla sentinella, vale a dire se stessa.

void create_empty (basic_list & list){ cell* aux = new cell; aux -> next = aux; list = aux;}

INSERIMENTO IN TESTA

void head_insert (basic_list & list, Data_Type new_value){ cell* aux = new cell; aux -> payload = new_value; cell* tmp = list -> next; list -> next = aux; aux -> next = tmp;}

STAMPA ELEMENTI

void print_list (ostream & output_stream, basic_list list){ cell* aux = list -> next; while (aux != list) { write_data (output_stream, aux -> payload); aux = aux -> next; output_stream > u;for(int i = 0; i < u; i++)    cout << "cucù";

  • 1 x C1 +
  • u + 1 x C2 +
  • u x C3 +
  • u x C4 +
  • 1 x C5
  • Esercizio 3
  • Quanto costa?

int u;cin >> u;if(u == 2)    cout

Dettagli
Publisher
A.A. 2020-2021
77 pagine
SSD Scienze matematiche e informatiche MAT/02 Algebra

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Mac00 di informazioni apprese con la frequenza delle lezioni di Algoritmi e strutture dati 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 Genova o del prof Mascardi Viviana.