Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Provjera injektivnosti i surjektivnosti? (zadatak)
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Osnove algoritama
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Gost






PostPostano: 21:46 sub, 5. 2. 2011    Naslov: Provjera injektivnosti i surjektivnosti? Citirajte i odgovorite

Napisite program koji ucitava prirodne brojeve m, n i niz brojeva f[1],...f[n] iz skupa {1,...,n}. Program povjerava i ispisuje je li funkcija f : {1,...,m} -->
{1,...,n} reprezentirana tim nizom injekcija, odnosno surjekcija.
Napisite program koji ucitava prirodne brojeve m, n i niz brojeva f[1],...f[n] iz skupa {1,...,n}. Program povjerava i ispisuje je li funkcija f : {1,...,m} →
{1,...,n} reprezentirana tim nizom injekcija, odnosno surjekcija.


[Vrh]
Gost






PostPostano: 21:48 sub, 5. 2. 2011    Naslov: Citirajte i odgovorite

Dokazite da je funkcija f: {1,...n} --> {1,...,n} injekcija ako i samo
ako je surjekcija.
Dokazite da je funkcija f: {1,...n} --> {1,...,n} injekcija ako i samo
ako je surjekcija.


[Vrh]
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 22:38 sub, 5. 2. 2011    Naslov: Citirajte i odgovorite

Za prvi zadatak trebas razumjeti kako funkciju izmedju konacnih skupova reprezentiramo nizom (duljine m, a ne n). Nije tesko napisati program koji provjerava injektivnost i surjektivnost po definiciji - prisjeti se definicije i vidjet ces. Ako negdje zapnes, slobodno pitaj.

Drugi zadatak necu pitati na usmenom :wink:
Za prvi zadatak trebas razumjeti kako funkciju izmedju konacnih skupova reprezentiramo nizom (duljine m, a ne n). Nije tesko napisati program koji provjerava injektivnost i surjektivnost po definiciji - prisjeti se definicije i vidjet ces. Ako negdje zapnes, slobodno pitaj.

Drugi zadatak necu pitati na usmenom Wink



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Gost






PostPostano: 17:57 pon, 7. 2. 2011    Naslov: Citirajte i odgovorite

učitaj m,n
za i=1,...,m radi učitaj f[i]
br=1
za i=1,...,n radi
za j=1,...,m radi
ako je i!=f(j) onda br=0
ako je br=0 radi ispiši "funkcija nije surjekcija"
else ispiši "funkcija je surjekcija"

koliko (ni)je ovo dobro? :)
učitaj m,n
za i=1,...,m radi učitaj f[i]
br=1
za i=1,...,n radi
za j=1,...,m radi
ako je i!=f(j) onda br=0
ako je br=0 radi ispiši "funkcija nije surjekcija"
else ispiši "funkcija je surjekcija"

koliko (ni)je ovo dobro? Smile


[Vrh]
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 21:07 pon, 7. 2. 2011    Naslov: Citirajte i odgovorite

Prilicno nije dobro - radi ispravno samo za [i]n[/i]=1 (tada su sve funkcije surjekcije).

Problem je u ovom. Program prvo stavi [i]br[/i] na 1. Za svaki [i]i[/i] iz kodomene i za svaki [i]j[/i] iz domene stavlja [i]br[/i] na nulu ako se [i]j[/i] ne preslika u [i]i[/i]. Na kraju ce [i]br[/i] sigurno biti nula - ne moze se svaki element domene preslikati u svaki element kodomene.

Razmisljaj ovako. Neka [i]br[/i] bude brojac elemenata iz kodomene koji su pogodjeni s [b]nekim[/b] elementom iz domene. Za svaki [i]i[/i] iz kodomene provjeri da li [b]postoji[/b] element iz domene koji se u njega preslika. Ako postoji, povecaj [i]br[/i] za jedan. Na kraju provjeri da li je [i]br[/i]=[i]n[/i].

Efikasniji algoritam prekine potragu cim naleti na prvi element kodomene u koji se nitko ne preslika. Funkciju proglasi surjekcijom samo ako dodje do kraja kodomene.

Jos efikasniji algoritam koristi drugi niz i radi u vremenu O(m) za m>=n i u konstantnom vremenu za m<n.
Prilicno nije dobro - radi ispravno samo za n=1 (tada su sve funkcije surjekcije).

Problem je u ovom. Program prvo stavi br na 1. Za svaki i iz kodomene i za svaki j iz domene stavlja br na nulu ako se j ne preslika u i. Na kraju ce br sigurno biti nula - ne moze se svaki element domene preslikati u svaki element kodomene.

Razmisljaj ovako. Neka br bude brojac elemenata iz kodomene koji su pogodjeni s nekim elementom iz domene. Za svaki i iz kodomene provjeri da li postoji element iz domene koji se u njega preslika. Ako postoji, povecaj br za jedan. Na kraju provjeri da li je br=n.

Efikasniji algoritam prekine potragu cim naleti na prvi element kodomene u koji se nitko ne preslika. Funkciju proglasi surjekcijom samo ako dodje do kraja kodomene.

Jos efikasniji algoritam koristi drugi niz i radi u vremenu O(m) za m>=n i u konstantnom vremenu za m<n.



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Osnove algoritama Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Možete otvarati nove teme.
Možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan