20/06/2012
Alg lgor oritm itmike ike dh dhe e Pro Prog gramim i Avan ancu cuar ar Ushtrime
1
qeduamteg te gjenerojm ojmerandomkombinacione cionet e n 1) Supozojmeqedu
numravete vetepa pare inte integer, psh , {4, {4, 3, 1, 5, 2} dhe{3, {3, 1, 4, 2, 5} janek eko ombinacionetev etevle lefshme, por {5, 4, 1, 2, 1} nuk eshte eshtedu htedublikuar numri 1dhenumri 3mungon.Supo Supozojm zojme ekzis kzistencenenjeg nje gjeneratori tori numrashrandomrand_int (i j , j ), ), qe gjeneronnu ron numrainteger midis i dhej me probabilitet tet tenje te njejjte. Po japimmeposhte3 algorit ritme:
1. 2.
3.
A[0] deri neA[n-1] A[n-1] si me poshte: per te tembushurA[i urA[i]] gjenerohennumrarandom derisamerretnje retnjeqenu qenuk ndodhet neA[0] A[0], A[1],… A[1],….. A[i-1] A[i-1] Nje Njelloj si algoritm oritmi (1), por mbahet njeve njevektors ktor shtese“perdorur”. rdorur”. Kurnje Kur njenu numer random, nr, vendoset ne vektori ktorinA, nA, nje njekohesishtca sishtcaktohet perdorur[nr] dorur[nr] = 1. Kj Kjo treg tregonqe onqeduke dukembushurA[ hurA[i ] menumrarandommundtetestohe te testohet menjeha nje hapte vetemnqse temnqseshtepe teperdorur rdorur apoj pojo mepareai numer, nevendtei hapaveqe veqeduhe duheshin nealgoritmin goritmine epare. Mbushet vektori ktori nemenyreqeA[i ] = i +1 for( i=0 i=0; i
2
1 Create PDF files PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com (http://www.novapdf.com))
20/06/2012
a) Tregoni qetetrealgoritmet gjenerojnekombinacionete
vlefshme, dheqetegjithakombinacionet janenjelloj probabel. b) Analizonikompleksitetinesecilit algoritem. c) Analizoni rastinmetemire dheate metekeq.
3
2) Shkruani njeprogramper tegjetur nqsnjenumer pozitiv n eshte numer prim. a) Cili eshterasti mei keqi ekzekutimit i shprehur metermate n ? b) Le tejeteB numri i bitevene paraqitjenbinarete n . Cilaeshte vleraeB? c) DukeeshprehursipasB, cili eshterasti mei keqi ekzekutimit te programit? d) Krahasoni kohet e ekzekutimit per tepercaktuar nqsnjenumer me20bit dhenjeme 40, bit janenumraprime. e) Eshteme earsyeshmeteshprehimkoheneekzekutimit ne termaten apoteB?Pse? 4
2 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
62 mundtellogaritetme vetem8 shumezime. 3) Tregoni qe x
4) Shkruaninjefunksionqepercaktonnqsekzistonnjenumer i integer i tilleqe ai = i nenjevektor numrashinteger a1 < a2 < a3 < . . . < an. Cili eshtekompleksiteti i algoritmit
tuaj? 5) Gjeni njealgoritemeficent(dukeargumentuar analizene tij tekompleksitetit) per: Gjetjene shumesmin tesekuencavenevektor. b) Gjetjeneshumesminimumtesekuencavepozitivenevektor. c) Gjetjeneprodhimit maksimumtesekuencavenevektor. a)
5
6) Pasi janeanalizuar programetA dheB eshtepercaktuar qe
rastetmetekeqijanukekalojnenumrineveprimeve 2. Pergjigjuni pyetjevete respektivisht 15n log2 n dhen meposhtme: Cili programgarantonkoheme temire ekzekutimi per vlera temedhaten (n >10000)? b) Cili programgarantonkoheme temire ekzekutimi per vlera tevoglaten (n<100)? c) Cili programdotejetemei shpejtemesatarisht per n = 1 000? d) Eshtee mundur qeprogrami B doteekzekutohet me shpejt seprogrami A per tegjithainputet e mundshme? a)
6
3 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
7)
Njeelement nemaxhorancenenjevektorA me n elementeeshteai i cili ndeshet me shumesen/ 2 here (ekzistonmax njei tille). Pshvektori 3, 3, 4, 2, 4, 4, 2, 4, 4 ka maxhoranceelementin4 ndersavektori 3, 3, 4, 2, 4, 4, 2, 4 nukkamaxhorance. Nqs nukkaelement maxhorancealgoritmi juaj duhet tatregojekete. Njealgoritemqee zgjidhketeproblemeshtesi vijon: : gjendet njekandidat per element ne maxhorance(pjesame e veshtire). Ky Hapi i pare kandidateshteelementi i vetemqemundtejetenemaxhorance. : tregohet qekandidati eshteaktualisht nemaxhorance. Hapi i dyte Kyeshtenjekerkimsekuencial nevektor. Per tegjeturnjekandidat nevektorinA, krijoni njevektortjeter B. Paskesaj krahasoni A1 meA2. Nqsjanetenjejte, ruani njeren prejtyrenevektorinB, perndryshemosbeni asgje. Pastaj krahasoniA3 meA4. Perseri nqsjanetebarabarte, shtoni njerenprej tyreneB, perndryshemosbeni asgje. Vazhdoni neketemenyrederisaeshtelexuar I gjithevektori. Pastaj nemenyrerekursivegjeni nje kandidatper B. Kydo tejeteeshtekandidati per A. Pse?
a) b) c) d) e)
Si perfundonthirrjarekursive? Si trajtohet rasti kur n eshtetek? Cili eshtekompleksiteti i algoritmit? Si mundtemenjanojmeperdoriminenjevektori shteseB? Shkruaninjefunksionqellogaritelementinnemaxhorance.
7
8)
Nefunksioninemeposhtetekerkimit binar nqsshprehjanerreshtin5do tezevendesohej me majte= mes, cfaredo tendodhtene ekzekutimine funksionit? Do teishtefunksioni i saktegjithsesi?
in t ke rki mBi na r( int a [ ] , i nt x, in t n ) { int majte, mes, djathte; /*1*/ majte = 0; djathte = n - 1; /*2*/ while(majte <= djathte) { /*3*/ mes = (majte + djathte)/2; /*4*/ if( a[mes] < x ) /*5*/ majte = mes + 1; else /*6*/ if ( a[mes] < x ) /* 7*/ djat hte = me s - 1 ; else /*8*/ return(mes); } /*9*/ return( NOT_FOUND ); } 8
4 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
9) Jepet vektoriT[n]. Ndertoni njefunksionrekursivqete
paraqeseneekrantegjithadyshet emundshmete elementevetevektoritT. PshT = {1,2,3,4}dyshet e mundshmejane: {1,2} {1,3} {1,4} {2,3} {2,4} {3,4}
9
10) Njelistelinearepermbanvetem3 elementeme vlerat 100, 200,
45. K eshteshenjuesi i kokesselistes. N dheP janevariablatetipit shenjuesneelementetelistes.Teshpjegohet rezultati i instruksionevetemeposhtme. a) N = K -> next; N->vlere= 350; b) P=K->next; N = P->next; P->next=P->next; delete(N); c) N=K; K = new node; K->vlere= 700; K->next = N;
10
5 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
11) Tendertohetnjefunksionqegjenshumene elementevetenje
liste. 12) Tendertohetnjefunksionqegjenelementinmetemadhtenje liste. 13) Tepershtatet funksioni i mesipermqetegjejedyelementet mete medhenj tenjeliste(listatebridhet vetemnjehere). 14) Jepet njepointer P mbi njeelement telisteslineareL, nje drejtimore.Teshkruhetnjefunksionqeheqngakjo liste: Elementinpasardhesatij kushenjonpointeri P b) Elementine treguar ngapointeri P a)
11
15) Teshkruhetnjefunksioni cili merr si parameter dylistaL1
dheL2dhei bashkonatodukei vendosurelementet elistes L2pasatyretelistesL1. 16) Teshkruhetnjefunksionqemerr njelistenjedrejtimoreL dheendanate nedylistaL1 dheL2. Ndarjabehet pas elementit X tedheneqendodhet nelisten L. 17) Teshkruhetnjefunksionqelargonngalistaelidhur njedrejtimoreL tegjitheelementet pozitivetesaj.
12
6 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
18) Jepet listaelidhur njedrejtimoreL e renditur nerend rrites. Te
shkruhetnjefunksionqeshtonneketelisteelementinX duke respektuar renditjen. 19) JependylistetelidhuranjedrejtimoreL1dheL2. Te shkruhet njefunskioni cili krijonlisten L netecilenelementet elistave L1 dheL2 vendosennemenyretenderthurur. Ne castinkur elementete njelistembarohentevazhdojevendosjae elementevetembetur ngalistatjeter.
13
20) Tendertohetnjefunksionqenumeronkulmet enjepeme
binare. 21) Per njevektor heap, tedheneteshkruhet njefunksionqe veconnenpemenemajtetepemesseparaqitur meanete ketij vektori. 22) A ekzistonpemebinareqeteketeredhet ebredhjes nderrendoredhepasrendoresi meposhte:
Nderrendore CADB PasrendoreCBAD
14
7 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
23) Shkruaninjefunksionper zgjedhjenepivot nealgoritmin
quicksort si: Elementi i pare i vektorit. b) Me i madhi midis dyelementeveteparetendryshemnganjeri – tjetrin. c) Njeelement random. d) Mesatarjaegjitheelementevenevektor. a)
Cilado teishtezgjedhjameemire per pivot?Pse?
15
24) Psealgoritmi bubble sort eshtemei shpejteper input te 25) 26) 27) 28)
renditurparaprakisht? Pseselection sort nukndikohet ngafakti qeinputi eshte paraprakishti renditur? Pseinsertionsort ekzekutohetmeshpejt neinput paraprakishtterenditur? Psemerge sort ekzekutohetme shpejt neinput paraprakishtterenditur? Psequicksort eshtemei ngadalteneinput paraprakisht te renditur?
16
8 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
29) Jepetmetodaemeposhtmeefshirjesngaheap?
void zhvendosPoshte( int bosh) { int child; int tmp = array[bosh]; for( ; bosh * 2 <= n; bosh = child ) { child = bosh * 2; if( child != n && compare( array[ child + 1 ], array[ child ] ) < 0 ) child++; if( compare( array[ child ], tmp ) < 0 ) array[bosh] = array[ child ]; else break; } array[bosh] = tmp; } 17
a) b) c) d) e) f) g) h) i)
Cili eshteqellimi i perdorimit teinstruksionevevleredhenese tmp = array[bosh]; dhe array[bosh] = tmp; ? Cfareqellimi kakontrolli i kushtit brendaciklit for?bosh* 2 <= currentSize Cili eshtekuptimi dheqellimi i inkrementimit brendaciklit for,bosh= child? Cfarerealizonvleredheniaechild? Cili child eshteai? I majteapoi djathte? Cfarekuptimi kakushti if child==currentSize? Cilaeshtearsyejaqebehet child++? Cfarebenvleredheniaarray[bosh] =array[ child ]; A duhet te shqetesohemi per mbishkrimteelementit tevektorit? Pseinstruksioni i krahasimit tregoncili eshteveprimi I duhur per t’u kryer? Psebejmebreak teciklit nerast tekundert?
18
9 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
30) Ndertoni njefunksionqemerr si input njetekst dhee printon atetekthyer netekundert. Perdorninjestivendihmese. 31) Ndertoni njefunksionkerkoNeListeqekerkonnemenyre rekursivenjevleretecaktuar nenjelistetelidhur njedrejtimore. Funksioni duhet tekthejenjepointer neelement nqsai gjendet dheNULL nqeelementi nukgjendet neliste.
19
32) Ndertoni njefunksioninrekursiv afishoPeme qeafishonnjepeme binareneekran. Pshpematemeposhtme:
•
Duhetteafishohetsi:
Funksioni duhet temarresi parametranjepointer nerrenjene pemesdhenjeinteger nrHapesira qedo tembajenr. e hapesirave qeparaprijnevlerenqedo teafishohet (kyvariabel dotefilloje mevlerenfillestarezero mqsrrenjaafishohet direktnetemajte teekranit). 20
10 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
Algoritmi
Per aqkohesapointeri nenyjenkorentenukeshteNULL. Therrit nemenyrerekursive afishoPeme me parametranenpemene djathtedhe nrHapesira + 5 Perdorni njeinstruksionper tenumeruar nga1ne nrHapesira dhe afishoni hapesirat. Afishoni vlerenenyjeskorente. Vendosnipointerinenyjeskorentenenenpemenemajtetenyjes korente. Rrisni nrHapesira me5.
21
33) Ndertoni njealgoritemeficent NdajCiftTek(A) qekthenvektorinA qe permbannefillimnumrat tektepasuar nganumrat cift. Psh per input vektorin A = 7, 17, 74, 21, 7, 9, 26, 10 funksioni do tekthejesi output vektorin A = 74, 10, 26, 17, 7, 21, 9, 7.
Funksioni teperdoreekstranjemadhesi konstantekujtesetepavarur nga numri i elementeveteA, pratemosperdoret vektor temporar tjeter. Sa eshtekompleksiteti i algoritmit tuaj?A mundtapermiresoni algoritmintuaj nemenyreqeteketekompleksitetlinear? 34) Jepet vektori A = 4, 33, 6, 90, 33, 32, 31, 91, 90, 89, 50, 33 (a) A eshteA njemin-heap?Argumentoni pergjigjendukeshpjeguar karakteristikat e min-heap. (b)NqsA eshtenjemin-heap, hiqni vlerenmin tevektorit dheriorganizoni nemenyreqeA tembetetnjemin-heap. Tregoni cdoiteracionteminheapify. (c) NqsA nukeshtenjemin heap, aplikoni algoritminqeekthenate nenje min-heap.Tregoni cdoiteraciontemin-heapify.
22
11 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
20/06/2012
Ushtrime Permbledhese 20/ 06/ 2012
23
12 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)