1 / 16

Linearne strukture

Linearne strukture. Polja jednodimenzionalna (nizovi, vektori) dvodimenzionalna (matrice) višedimenzionalna (tenzori višeg reda) Povezani popis Stogovi Redovi. Matrica (1/2). Pravokutna shema podataka, svojstva: - podaci su raspoređeni u M redaka i N stupaca

zea
Download Presentation

Linearne strukture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linearne strukture Polja jednodimenzionalna (nizovi, vektori) dvodimenzionalna (matrice) višedimenzionalna (tenzori višeg reda) Povezani popis Stogovi Redovi

  2. Matrica (1/2) Pravokutna shema podataka, svojstva: - podaci su raspoređeni u M redaka i N stupaca - svi elementi istog tipa - direktan pristup svakom elementu Matricu A označavamo preciznije AMN

  3. Matrica (2/2) Poseban slučaj: M=Nkvadratna matrica

  4. Problem množenje matrica (1/2) ZADANO: Matrica A s m redaka i n stupaca Matrica B s n redaka i k stupaca TRAŽI SE: Formirati matricu C = A•B, koja ima m redaka i k stupaca - svaki rezultat Ci,j jeste skalarni produkt i-tog retka matrice A i j-tog stupca matrice B!

  5. Problem množenje matrica (2/2) AlgoritamMNOŽENJEMATRICA Zasvakii=1 dom Zasvakij=1 dok Ci,j = 0 Zasvakip=1 don Ci,j = Ci,j + Ai,p•B p,j VremenskasloženostalgoritmajesteO(mnk)

  6. Problem “magičnog kvadrata” neparnog reda (1/5) ZADANO: neparan prirodni broj m, m>1 TRAŽI SE: formirati kvadratnu matricu Amm popunjenu brojevima tako da sume svih redaka i stupaca i obiju dijagonala budu međusobno jednake

  7. Problem “magičnog kvadrata” neparnog reda (2/5) Primjer za m=5 05 04 10 03 09 15 03 16 09 22 15 02 08 14 2020 08 21 14 02 01 07 13 19 25 07 25 13 01 19 06 12 18 2424 1205 18 06 11 17 23 11 04 17 10 23 16 22 21 Slika a) Slika b)

  8. Problem “magičnog kvadrata” neparnog reda (3/5) Algoritam MAGIČNI KVADRAT NEPARNOG REDA Učitatim/* m mora biti neparan*/ /* Popuniti matricu prema slici a) procedurom Popuni */ Pozvati proceduru Popuni(A,m) /* Obaviti prebacivanja u matrici da bi se dobila slika b) */ Pozvati proceduru Prebaci(A,m,”lijevo”) Pozvati proceduruPrebaci(A,m,”desno”) Pozvati proceduruPrebaci(A,m,”gore”) Pozvati proceduruPrebaci(A,m,”dolje”) /*Ispisati matricu A od m/2+1 do m/2+m procedurom Ispis*/ Pozvati proceduru Ispis(A,m)

  9. Problem “magičnog kvadrata” neparnog reda (4/5) Algoritam procedure Popuni(A,m) Za svakii = 1 do 2m1 činiti Za svakij = 1 do 2m1 činitiAi,j = 0 i = m/*Počni od srednjeg reda */ j = 1 /* Počni od lijevog stupca */ n = 1 Sve dok jenm2 činiti Ai,j = n Smanjiti i za 1 /* Kreni red gore */ Povećati j za 1 /* Kreni stupac u desno */ Povećati n za 1 /* Idući broj u matrici */ Ako jen1 djeljivo s monda Povećati i za m+1 /* Ponovo počni red niže...*/ Smanjiti j za m1 /* .. i stupac dalje */

  10. Problem “magičnog kvadrata” neparnog reda (5/5) Algoritam procedure Prebaci(A,m,način) Ako jenačin = “dolje” onda Za svakij=1 dom/2 činiti Za svakii=1 do 2m-1 činiti Ako jeAi,j0 ondaAi+m,j=Ai,j Ako jenačin = “gore” onda .... Prebacivanja u ostalim smjerovima su analogna prebacivanju na “dolje” Vremenska složenost cijelog algoritma je O(m2)

  11. Problem invertiranja matrice (1/6) ZADANO: Kvadratna matrica Amms m redaka i m stupaca TRAŽI SE: Formirati inverznu matricu A-1

  12. Problem invertiranja matrice (2/6) Gaussova metoda invertiranja! A•A-1 = I X1•A•A-1 = X1•I X2•X1•A•A-1 = X2•X1•I X3•X2•X1•A•A-1 = X3•X2•X1•I Xn•...•X3•X2•X1•A•A-1 = Xn•...•X3•X2•X1•I Ako Xn•...•X3•X2•X1•A postane I onda je lijeva strana jednaka I•A-1 tj. A-1, pa je tome jednaka i desna strana: Ako se nizom transformacija (što odgovara množenju s Xi) početna matrica pretvori u jediničnu, tim istim transformacijama se jedinična pretvori u inverznu! Xn•...•X3•X2•X1•A•A-1 = Xn•...•X3•X2•X1•I

  13. Problem invertiranja matrice (3/6) Algoritam INVMAT Za svakii=1 domčiniti /* najprije formiramo ‘blok’*/ Za svakij=m+1 do 2mčiniti/* matricu, desno od A */ Ako je i=j  mondaAi,j=1 /* dodamo jediničnu */ U suprotnom Ai,j=0 /* matricu */ d=1, i=1 Sve dokjei<m i d0 činiti Ako jeAi,i=0 ondaPozvati proceduru Zamjena(i,d) Ako jed 0 ondaPozvati proceduru Redukcija(i,d) i = i + 1 Pozvati proceduru Ispis(d) Vremenska složenost ovisi o procedurama koje se pozivaju

  14. Problem invertiranja matrice (4/6) Algoritam procedure Zamjena(i,d) Za svaki k = i+1 domčiniti Ako je Ak,i  0 onda Za svakij = idomčiniti Pozvati proceduru Zamjeni( Ak,j, Ak,i ) d = d Završi proceduru d = 0 Vremenska složenost procedure je O(m2)

  15. Problem invertiranja matrice (5/6) Algoritam procedure Redukcija(i,d) d = d • Ai,i Za svakij = 2munazad doičiniti Ai,j = Ai,j / Ai,i Za svakik = 1 dom i ki Za svakij = 2munazad do i činiti Ak,j = Ak,j  Ai,j •Ak,i Vremenska složenost procedure je O(m2)

  16. Problem invertiranja matrice (6/6) Algoritam procedure Ispis(d) Ako je d = 0 onda Ispiši “Matrica nema inverznu” U suprotnom Ispiši “Inverzna matrica je: ” Za svakii = 1 domčiniti Za svakij = m+1 do 2mčiniti IspišiAi,j Vremenska složenost procedure je O(m2) Vremenska složenost cijelog algoritma je O(m3)

More Related