• Non ci sono risultati.

(1)ESERCIZI Esercizio 1 Dato un array a di n interi (positivi e negativi), progettare un algoritmo di programmazione dinamica per individuare il sottoarray di somma massima

N/A
N/A
Protected

Academic year: 2021

Condividi "(1)ESERCIZI Esercizio 1 Dato un array a di n interi (positivi e negativi), progettare un algoritmo di programmazione dinamica per individuare il sottoarray di somma massima"

Copied!
1
0
0

Testo completo

(1)

ESERCIZI    

Esercizio  1  

Dato   un   array   a   di   n   interi   (positivi   e   negativi),   progettare   un   algoritmo   di   programmazione  dinamica  per  individuare  il  sottoarray  di  somma  massima.  

 

Esercizio  2  

Dato  un  array  a  di  n  interi  (positivi  e  negativi)  progettare  un  algoritmo  per  individuare  il   sottoinsieme  di  elementi  di  a  di  somma  massima.  

 

Esercizio  3  

Si  consideri  il  seguente  problema:  dato  un  array  a[1…  n]  di  interi  positivi  di  somma  totale   (pari)  2s,  determinare  se  esiste  un  sottoarray  di  a  di  somma  s.    

Progettare   un   algoritmo   efficiente   che   trovi   la   soluzione   se   esiste,   e   discuterne   la   complessità.    

 

Esercizio  4  

Si  consideri  il  seguente  problema  (PARTITION):  Dato  un  insieme  di  n  interi  positivi  A  =   {a1,  ...,  an}  di  somma  totale  (pari)  2s,  determinare  se  esiste  un  sottoinsieme  A′  di  A  tale  che   la  somma  degli  elementi  in  A′  abbia  valore  s.    

Si  fornisca  un  algoritmo  enumerativo,  che  trovi  la  soluzione  se  esiste,  vagliando  tutte  le   possibilità.  Si  discuta  la  complessità  dell’algoritmo  proposto.    

 

Esercizio  5  

Progettare   un   algoritmo   di   programmazione   dinamica   per   il   problema   PARTITION   e   discuterne  la  complessità.  

 

Esercizio  6  

Impostare   e   risolvere   la   relazione   di   ricorrenza   che   descrive   il   costo   dell’algoritmo   GeneraBinarie.  

 

Esercizio  7  

Si   supponga   di   avere   una   funzione   DIZIONARIO(S)   che   dato   un   array   S   di   n   caratteri,   restituisca  vero  o  falso  a  seconda  che  S  contenga  o  meno  una  parola  della  lingua  italiana.  

Si  scriva  il  codice  di  un  algoritmo  che  conti  gli  anagrammi  di  S,  ovvero  un  algoritmo  che   prenda  in  input  un  array  di  n  caratteri  (senza  spazi)  e  che  restituisca  il  numero  di  parole   italiane  ottenute  come  anagrammi  di  S.  Si  discuta  la  complessità  dell’algoritmo  proposto    

Esercizio  8  

Progettare  un  algoritmo  per  risolvere  il  problema  del  commesso  viaggiatore  (TSP):  data   una  rete  di  città,  connesse  tramite  delle  strade,  trovare  il  percorso  di  minore  distanza  che   un  commesso  viaggiatore  deve  seguire  per  visitare  tutte  le  città  una  ed  una  sola  volta.  

Riferimenti

Documenti correlati

Determinare il lavoro compiuto da una forza di 500 N su un corpo che si sposta di una distanza di 60 m, nella direzione della forza; ad angolo di 60° rispetto alla direzione

Calcola l'altezza media e la semidispersione massima per i maschi, per le femmine, per tutti i partecipanti alla festa.. 2 Una stessa grandezza viene misurata 20

La fase che è data dalla differenza delle fasi dei numeri complessi al numeratore e al

(b) il punto di arrivo del nuotatore sulla riva opposta di quanto risulta spostato in direzione parallela alla corrente del fiume rispetto al punto

Leggere n e generare un array di n numeri casuali, leggere un numero s e verificare se nell’array esiste una sequenza di elementi contigui la cui somma vale s.. Se tale

• Determinare il nome e la data di nascita dei giornalisti che non hanno mai lavorato per un giornale della propria citta, ma che hanno scritto articoli per altri giornali. •

• Un costruttore che consente di definire una nuova TabellaVoti; il costruttore deve prendere in ingresso un array di stringhe che definisce la sequenza dei nomi degli studenti,

[r]