Ricerca di un elemento in una matrice

Похожие документы
Insiemi numerici. Sono noti l insieme dei numeri naturali: N = {1, 2, 3, }, l insieme dei numeri interi relativi:

Sottospazi associati a matrici e forma implicita. Sottospazi associati a una matrice Dimensione e basi con riduzione Sottospazi e sistemi. Pag.

RISOLUZIONE MODERNA DI PROBLEMI ANTICHI

SUCCESSIONI DI FUNZIONI

1 + 1 ) n ] n. < e nα 1 n

Stima della media di una variabile X definita su una popolazione finita

Principio di induzione: esempi ed esercizi

LE MISURE DI TENDENZA CENTRALE

Campionamento casuale da popolazione finita (caso senza reinserimento )

Le successioni: intro

(1 2 3) (1 2) Lezione 10. I gruppi diedrali.

Teorema delle progressioni di numeri primi consecutivi con distanza sei costante

Preparazione al corso di statistica Prof.ssa Cerbara

IL CALCOLO COMBINATORIO

Analisi Matematica I

Esercizi svolti. 1. Calcolare i seguenti limiti: log(1 + 3x) x 2 + 2x. x sin 2x. l) lim. b) lim. x 0 sin x. 1 e x2 d) lim. c) lim.

STATISTICA 1 ESERCITAZIONE 5

Elementi di Calcolo Combinatorio

ESERCIZI SULLE SERIE

STATISTICA 1 ESERCITAZIONE 4

Svolgimento degli esercizi del Capitolo 4

Aritmetica 2016/2017 Esercizi svolti in classe Seconda lezione

Approfondimento 2.1 Scaling degli stimoli mediante il metodo del confronto a coppie

Corso di Informatica

n 1 = n b) {( 1) n } = c) {n!} In questo caso la successione è definita per ricorrenza: a 0 = 1, a n = n a n 1 per ogni n 1.

Domande di teoria. Chiorri, C. (2014). Fondamenti di psicometria - Risposte e soluzioni Capitolo 3

Lezione 4. Gruppi di permutazioni

Algoritmi e Strutture Dati (Elementi)

Diagramma polare e logaritmico

Elettronica Funzionamento del transistore MOS

Approfondimento 3.3. Calcolare gli indici di posizione con dati metrici singoli e raggruppati in classi

SERIE NUMERICHE Esercizi risolti. (log α) n, α > 0 c)

Esercizi su serie numeriche - svolgimenti

ELEMENTI DI STATISTICA. Giancarlo Zancanella 2015

SERIE DI POTENZE Esercizi risolti. Esercizio 1 Determinare il raggio di convergenza e l insieme di convergenza della serie di potenze. x n.

1.6 Serie di potenze - Esercizi risolti

ORDINAMENTO 2010 SESSIONE STRAORDINARIA - QUESITI QUESITO 1

Serie numeriche. Paola Rubbioni. 1 Denizione, serie notevoli e primi risultati. i=0 a i, e si indica con il simbolo +1X.

Matematica I, Limiti di successioni (II).

Esercizi su alberi binari

Mole e Numero di Avogadro

Esercitazione parte 1 Medie e medie per dati raggruppati. Esercitazione parte 2 - Medie per dati raggruppati

8. Quale pesa di più?

ALGEBRA I MODULO PROF. VERARDI - ESERCIZI. Sezione 1 NUMERI NATURALI E INTERI

Транскрипт:

Ricerca di u elemeto i ua matrice Sia data ua matrice xm, i cui gli elemeti di ogi riga e di ogi coloa soo ordiati i ordie crescete. Si vuole u algoritmo che determii se u elemeto x è presete ella matrice i O(+m). Esempio. Sia x = 94 e la matrice 5X4: I A[1,1] si ha il miimo, visto che ella prima coloa c è il miimo di ogi riga e ella prima riga il miimo di ogi coloa. Nell esempio A[1,1] = 5 I A[,m] c è ivece il massimo, visto che ell ultima coloa c è il massimo di ogi riga e ell ultima riga il massimo di ogi coloa. Nell esempio A[5,4] = 98

Quali cofroti 1 Bisoga che ogi cofroto coseta di trascurare ei prossimi cofroti u itera riga o u itera coloa. Se si cofrota l elemeto cercato co il primo della prima riga, si possoo elimiare gli elemeti di ua riga o di ua coloa? Esempio. Sia x = 41 e la matrice 5X4: Poiché A[1,1] è il miimo, abbiamo che se l elemeto è maggiore o possiamo escludere alcu elemeto, oltre al miimo stesso, se ivece l elemeto cercato è miore del miimo, possiamo cocludere che o presete. Nell esempio se x = 41, poiché 41 > 5, escludiamo solo 5; se x = 2, allora x < 5 allora l elemeto o è presete e si può uscire dalla procedura di ricerca. Quidi il cofroto co il primo elemeto o è la scelta giusta!

Quali cofroti 2 Aalogamete il cofroto co l ultimo elemeto dell ultima riga o cosete di elimiare ua riga o ua coloa. Se cofroto l elemeto cercato co l ultimo della prima riga, posso elimiare gli elemeti di ua riga o di ua coloa? Esempio. La matrice 5X4: se x = 41 Poiché A[1,] è il massimo sulla prima riga, se l elemeto cercato è maggiore di A[1,] si possoo escludere tutti gli elemeti della prima riga. Nell esempio x = 41 > 15, quidi si possoo escludere tutti gli elemeti della prima riga, visto che soo miori di 15 e quidi miori di 41.

Quali cofroti 3 Se cofroto l elemeto cercato co l ultimo della prima riga, posso elimiare gli elemeti di ua riga o di ua coloa? Esempio. La matrice 5X4: se x = 7 Poiché A[1,] è il miimo dell ultima coloa, se se l elemeto cercato è miore di A[1,] si possoo escludere tutti gli elemeti dell ultima coloa. Nell esempio x = 7, si possoo escludere tutti gli elemeti della coloa visto che soo maggiori di 15 e quidi di 7.

Cotiuiamo l esempio co x = 41 Si cerca x = 41 poiché 41 > 15 e si elimia la prima riga: x = 41 > 21 e si elimia la riga: x = 41 < 45 e si elimia la coloa:

esempio cofroto fiali x = 41< 42, si elimiao gli elemeti della coloa Ora il cofroto è co 41, poiché x = 41 si esce perché trovato

Ricerca i matrice INPUT: ua matrice A xm e l elemeto da cercare i A, x. PREC: gli elemeti di ogi riga e ogi coloa di A soo ordiati i ordie crescete OUTPUT: la posizioe di x se occorre, -1 altrimeti. RicMatrice(A,x) fiché c è ua riga o ua coloa da esamiare se x è uguale all elemeto, a, ell agolo superiore destro della matrice, esci restituedo gli idici di questa etrata se x è miore di a allora prepara il cofroto di x co l elemeto ella stessa riga e ella coloa precedete altrimeti co l elemeto ulla coloa di a e ella riga successiva se o trovato retur -1 Prof. E. Fachii - Itr. Alg. 7

I geerale all iizio si elimia la coloa, cioè si passa al cofroto co A[1,m-1] = k 1 2 m 1 k 2 x < k x viee cofrotato co A[1,m] = k x > k si elimia la riga, cioè si passa al cofroto co A[2,m] = k 1 2 m -1 m 1 k k 2 1 2 m 1 k 2 k Se x = A[1,m] allora si esce.

Caso itermedio 1 2 i 1 2 j m Gli elemeti elle righe precedeti l i-sima e elle coloe successive alla j- sima soo già stati elimiati dai cofroti precedeti. k x < k x si cofrota co A[i,j] = k x > k 1 2 j-1 j m 1 2 i k k 1 2 j m 1 2 i k i+1 k elimia la coloa, cioè cofrota co k = A[i,j-1] elimia la riga, cioè cofrota co k = A[i+1,j]

Ricerca i matrice INPUT: ua matrice A xm e l elemeto da cercare i A, x. PREC: gli elemeti di ogi riga e ogi coloa di A soo ordiati i ordie crescete OUTPUT: la posizioe di x se occorre, -1 altrimeti. RicMatrice(A,x) sia il umero delle righe di A sia m il umero delle coloe di A if = 0 o m = 0 the retur -1 if x < A[1,1] or x > A[,m] the retur -1 i=1; j=m while i ad j 1 do if (x == A[i,j]) the retur (i,j) if (x < A[i,j]) the j= j-1 else i=i+1 if i > or j<1 the retur -1 Prof. E. Fachii - Itr. Alg. 10

Ricerca i matrice: complessità RicMatrice(A,x) sia il umero delle righe di A sia m il umero delle coloe di A if = 0 o m = 0 the retur -1 if x < A[1,1] or x > A[,m] the retur -1 i=1 j=m while i ad j 1 do if (x = A[i,j]) the retur (i,j) if (x < A[i,j]) the j= j-1 else i=i+1 the retur -1 Θ(1) T(,m) = Θ(+m), el caso peggiore. Prof. E. Fachii - Itr. Alg. 11