pomoc oko pretrazivanja

pomoc oko pretrazivanja

offline
  • Pridružio: 01 Maj 2007
  • Poruke: 173
  • Gde živiš: Paraćin

Ima ova dva zadatka za sekvencijalno i binarno pretrazivanje
i treba da racunski pokazem kako ova dva programa rade stim
sto cu uzeti niz 2,-4,5,3,-1

int sektra(const int a[],int n,int b){
int i;
for(i=0;i<n && a[i]!=b;i++);
return i<n;}


int bintra (const inta[],int n,int b){
int d=0,g=n-1,s;
while(d<=g){
s=(d+g)/2;
if(a[s]==b)
return 1;
else
if(a[s]>b)
g=s-1;
else
d=s+1;
}
return 0;
}



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 16 Jun 2005
  • Poruke: 2392
  • Gde živiš: Beograd

@nikolapn

Ako sam dobro razumeo ti treba ovo da pokazes:

Sve zavisi sta trazis tj koliko ti je b... (dajem primer da se trazi 3)
n=5

Sekvencijalno:
u prvom prolazu 0<5 && 2!=3 uslov je ispunjen, i se uvecava za 1 (0+1=1)
u drugom prolazu 1<5 && -4!=3 uslov je ispunjen, i se uvecava za 1 (1+1=2)
u trecem prolazu 2<5 && 5!=3 uslov je ispunjen, i se uvecava za 1 (2+1=3)
u cetvrtom prolazu 3<5 && 3!=3 uslov nije ispunjen i izlazi se iz for petlje
vraca se i<n (3<5) a to je 1.

U slucaju da broj koji se trazi ne postoji u nizu (trazis npr 7) ici ce 5 prolaza i onda za sesti (koji ne moze da se desi) uslov nije ispunjen jer je i=n, i u return ce ti vratiti 0.

Binarno:

Koliko vidim ova tvoja funkcija ne funkcionise za neuredjen niz, provericu posle jos jednom, ako sam pogresio neka me neko ispravi.



offline
  • Pridružio: 01 Maj 2007
  • Poruke: 173
  • Gde živiš: Paraćin

Hvala ti puno za ovaj odgovor .Da li mozes da mi pokazes i za binarno pretrazivanje bilo da je uredjeni ili neuredjeni niz

offline
  • Pridružio: 16 Jun 2005
  • Poruke: 2392
  • Gde živiš: Beograd

Da bi funkcionisalo ovo binarno pretrazivanje, potreban je uredjen niz.

npr 2 4 5 7 13

trazi se 4

n=5

d=0, g=4

posto je 0<=4 ulazi se u petlju
s=(0+4)/2=2
posto 5==4 nije ispunjeno pita se 5>4?, uslov je ispunjen i izvrsava se g=s-1 tj 2-1=1
onda se opet proverava uslov 0<=1, ispunjeno ide se u drugi prolaz
s=(0+1)/2=0
posto 2==4 nije ispunjeno pita se 2>4?, uslov nije ispunjen i izvrsava se
d=s+1 tj 0+1=1
onda se opet proverava uslov 1<=1, ispunjeno ide se u treci prolaz
posto je ispunjeno 4==4, funkcija vraca 1

offline
  • Pridružio: 01 Maj 2007
  • Poruke: 173
  • Gde živiš: Paraćin

Hvala ti puno na ovim odgovorima jer mi mnogo znace.I sada bih hteo da te pitam kao iskusnog programera u jeziku C da mi kazes kako bi trebalo da se izvode pismene vezbe u srednjim skolama iz programiranja.Nama profesor da one zadatke iz knjige i tera nas da ih ucimo napamet.Ja mislim da je to pogresno i da treba da nam da zadatke koje nema u knjigama a da ih resavamo uz pomoc knjige.A sta ti mislis??
Jos jednom hvala puno

offline
  • Pridružio: 16 Jun 2005
  • Poruke: 2392
  • Gde živiš: Beograd

Daleko od toga da ja mogu sebe da nazovem iskusnim programerom, mozda dobrim pocetnikom, mnogo toga i ja jos treba da naucim. Inace i ja sam srednjoskolac jos 2 meseca Wink

Meni je odgovarao nacin na koji je sa nama radio profesor. Radili smo dosta razlicitih zadataka kako bi usvojili sto vise ideja, kasnije smo na pismenim vezbama smo dobijali nekoliko zadataka, koje ranije nismo radili.

Ko je trenutno na forumu
 

Ukupno su 975 korisnika na forumu :: 54 registrovanih, 8 sakrivenih i 913 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Bobrock1, Boris90, brundo65, comi_pfc, dankisha, darkangel, Denaya, Djokkinen, DonRumataEstorski, doom83, Dorcolac, DragoslavS, dule10savic, FileFinder, galijot, goxin, ILGromovnik, ivan1973, Japidson, JOntra, Još malo pa deda, Karla, Klecaviks, Kubovac, kunktator, laki_bb, macak44, magna86, mercedesamg, Mercury, mile23, mileJNA, milenko crazy north, milimoj, Milometer, miodrag, mrav pesadinac, NoOneEver Dreams, nuke92, oldtimer, panonski mornar, panzerwaffe, pirke96, procesor, raptorsi, raykan, stalja, vathra, Vlad000, ZetaMan, Zimbabwe, |_MeD_|, 1107