See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Divide et impera (informatica) - Wikipedia

Divide et impera (informatica)

Da Wikipedia, l'enciclopedia libera.

Divide et impera (locuzione in lingua latina «dividi e domina») viene talvolta tradotto in italiano anche come dividi e impera, separa e conquista o dividi e conquista (che traduce anche l'espressione inglese analoga, sebbene non strettamente equivalente, divide and conquer).

In informatica il divide et impera rappresenta un approccio molto potente per la risoluzione di vari problemi computazionali. In particolare si parla di algoritmi divide et impera. Questi algoritmi dividono ricorsivamente un problema in due o più sotto-problemi sino a che questi ultimi diventino di semplice risoluzione, quindi, si combinano le soluzioni al fine di ottenere la soluzione del problema dato. Questo approccio permette di affrontare in modo "semplice" problemi anche molto complessi, inoltre la natura del "divide" permette di parallelizzare la computazione aumentandone l'efficienza su sistemi distribuiti o multiprocessore. Questo tipo di approccio è di tipo top down in contrapposizione al paradigma di programmazione dinamica che risolve prevalentemente problemi in maniera bottom up.

Un programma sviluppato secondo questa tecnica è sostanzialmente diviso in tre parti:

  • Caso base: posto all'inizio della funzione da sviluppare, e risolve in modo diretto il problema qualora la taglia risulti inferiore alla soglia prevista;
  • Divide: in questa parte si procede alla suddivisione dell'input in altri di taglia inferiore e alla chiamata ricorsiva della stessa procedura con l'input appena creato;
  • Impera: l'ultima fase del paradigma prevede di ricombinare l'output ottenuto dalle precedenti chiamate ricorsive al fine di ottenere il risultato finale.

In informatica questo principio viene applicato in modo diffuso per la risoluzione di molteplici problemi. Le applicazioni più conosciute, sono due dei più usati algoritmi di ordinamento, il quick sort e il merge sort, oltre che l'algoritmo veloce per il calcolo della Trasformata discreta di Fourier (FFTs).

Si può parlare anche di divide et impera applicato al campo dell'analisi e del progetto del software.

[modifica] Voci correlate


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -