Algoritme: Rekursionet ne java

Pershendetje vizitor te albanianwizard. Shpresoj te keni kaluar nje kohe fitimprurese ne kete blog ashtu sic ka ndodhur tek mua…sot e tutje do mundohem dhe un te jap kontributin tim :).
Ne kete informacion te pare qe postoj ne Albanian Wizard do te trajtoj dhe shpjegoj nje algoritem i rendesishem dhe teper i perdorshem ne shkencat kompjuterike.
Pikerisht rekursionet.
Rekursioni eshte nje algoritem i cili zgjidh probleme dhe ceshtje nen ndihmen e nenceshtjeve…ja te jap nje shembull konkret dhe tipik te nje rekursioni:
Sic e dim 3! (faktoriali) = 3 * 2 * 1 (apo jo? )
Atehere kete faktorial mund ta paraqesim 3! = 3 * 2!
Ky eshte nje shembull tipik i nje rekursioni eshte “Hello World-i” i rekursioneve 😀 .
Kalojm pak ne java dhe kete shembul, pra faktorialin e numrit n e paraqesim me ane te nje aplikacioni java:

import java.util.Scanner;
public class Faktorial
{
public static void main( String args[] )
{
Scanner input = new Scanner(System.in);
System.out.println(“Fusni nje nr ne menyre qe te paraqitet faktoriali tij”);
int nr = input.nextInt();
System.out.printf(“\n%d”,faktoriali(nr));

}
public static long faktoriali (int nr1 )
{
if ( nr1 <= 1 )
return nr1;
else
return nr1 * faktoriali( nr1 – 1 );
}
}

Pjesa qe na intereson eshte tek metoda faktoriali, e cila merr si argument nje integer nr1 (inseruar nga useri) dhe nqs ky nr eshte me i vogel apo i barabarte me 1 atehere kthehet vlera nr1, perndryshme nqs eshte me e madhe atehere numri i futur shumezohet me faktorialin e ketij nr – 1. pra pikerisht ajo qe shpjeguam me larte.
Ky eshte nje shembull i nje algoritmi rekursive. Nje problem te till mund ta zgjidhim edhe me ane te perseritjeve…per cfare na duhet rekursionet atehere??
Ka shum raste ne te cilat eshte me e lehte te perdorim rekursione se sa perseritje (for, while). Psh. nqs na duhet nje program i cili gjeneron te gjitha mundesite e kombinimeve te shkronjave ne nje String atehere eshte me mire te perdorim rekursionet…Per te gjetur kombinimet e n objekteve duhet te gjejme kombinimet e n – 1 objekteve dhe elementin e mbetur ta fusim ne te gjitha pozicionet e mundshme tek nje kombinim n-1.
Pra, nqs kemi tre objekte A, B, C dhe na duhet te gjejme te gjitha kombinimet e mundshme te dy objekteve B dhe C, te cila jane B C dhe C B. Me pas objektin e mbetur duhet ta inserojme ne cdo pozicion:
~ B ~ C ~    dhe ~ C ~ B ~  .

Konceptin e rekursionit mendoj se do ta kuptoni ne menyre me te zgjeruar edhe duke par source kodet ne java qe do te upload-oj se shpejti ne faqe ;).
Gjithsesi rekursioni ka shum per te folur e duhet praktikuar shum nqs doni te lexoni qarte nje source kod ku perdoret rekursion dhe eshte akoma me e veshtire per te shkruajtur nje te till.

Si nje trajtim i nivelit te par shpresoj tju kete pelqyer…

4 thoughts on “Algoritme: Rekursionet ne java

  1. Tema eshte goxha e mire Ludion, e lexova 3 here, komplimente. Algoritmet jane shume shume shume te rendesishme sidomos ne programim.
    Nese je duke i studjuar atehere mund te hapim dhe nje kategori “algoritme” tek kategorite.
    Welcome Home :)

  2. Pershendetje Ilir, keto gjera ua kerkojn tek seee.edu.mk ne tetov?
    Ky nuk eshte vend per kerkesa, kot nuk e kemi bere forumin.
    Nese ke ndonje gje ndiq procedurat e regjistrimit e pastaj hap teme ne helpdesk.
    Ne shqiptaret jemi mesuar qe i duam gjerat tak fap edhe falas, pa u lodhur fare.
    Po keshtu dija nuk merret, keshtu fitohet vetem fodulleku dhe injoranca.

Leave a Reply

Your email address will not be published. Required fields are marked *