Backtracking Recursiv

Proiect
6.3/10 (3 voturi)
Conține 10 fișiere: doc, pdf, cpp, exe
Pagini : 25 în total
Cuvinte : 8409
Mărime: 437.24KB (arhivat)
Puncte necesare: 10
Profesor îndrumător / Prezentat Profesorului: Predoi Mariana
Backtracking Recursiv. Contine notiuni introductive despre tehnica Backtraccking, despre recursivitate, programul pentru functia lui Ackermann pentru a exemplifica recursivitatea comentat si cu un exemplu numeric, programele pentru problema damelor, pentru plata unei sume de bani si pentru partitiile unui numar natural. Programele sunt comentate, au exemple numerice si desene sugestive.

Cuprins

  1. 1. METODA BACKTRACKING . 3
  2. 1. 1. Stiva . 3
  3. 1. 2. Prezentarea tehnicii Backtracking . 4
  4. 2. INTRODUCERE ÎN RECURSIVITATE 9
  5. 2. 1. Prezentare generalã . 9
  6. 2. 2. Aplicatie recursivitate 12
  7. 3. BACKTRACKING RECURSIV 14
  8. 3. 1. Problema damelor 14
  9. 3. 2. Partitiile unui numãr natural 19
  10. 3. 3. Plata unei sume de bani . 21
  11. 4. CONCLUZII 24
  12. 5. BIBLIOGRAFIE 25

Extras din proiect

1. METODA BACKTRACKING

1. 1. Stiva

Stiva este acea formã de organizare a datelor ( structurã de date ) cu proprietatea cã operatiile de introducere si extragere a datelor se fac în vârful ei.

Pentru a întelege modul de lucru cu stiva, sã ne imaginãm un numãr n de farfurii identice, asezate una peste alta ( o „stivã” de farfurii ). Adãugarea sau scoaterea unei farfurii se face, cu usurintã, numai în vârful stivei. Dacã toate cele n farfurii sunt asezate una peste alta, spunem cã stiva este plinã. Dupã ce am scos toate farfuriile din stivã, spunem cã aceasta este vidã.

Stivele se pot simula utilizând vectori.

Fie ST(i) un vector. ST(1), ST(2), ....., ST(n) pot retine numai litere sau numai cifre. O variabilã k indicã în permanentã vârful stivei.

În continuare, se prezintã modul de lucru cu stiva :

- în stiva initial vidã se introduce litera A, vârful stivei va fi la nivelul 1 ( k = 1 );

- introducem în stivã litera B, deci k va lua valoarea 2;

- scoatem din stivã pe B ( A nu poate fi scos );

- scoatem din stivã pe A; stiva rãmâne vidã.

Observatii :

- în mod practic, la scoaterea unei variabile din stivã, scade cu 1 valoarea variabilei ce indicã vârful stivei, iar atunci când scriem ceva în stivã, creste cu 1 valoarea variabilei ce indicã vârful stivei;

- stivele pot fi simulate si altfel decât cu vectori;

- pe un anumit nivel se retine, de regulã, o singurã informatie ( literã sau cifrã ), însã este posibil, sã avem mai multe informatii, caz în care avem de a face cu stive duble, triple, etc;

- întreaga teorie a recursivitãtii se bazeazã pe structura de tip stivã.

1. 2. Prezentarea tehnicii Backtracking

Aceastã tehnicã se foloseste în rezolvarea problemelor care îndeplinesc simultan urmãtoarele conditii:

- solutia lor poate fi pusã sub forma unui vector S = x1 x2 , ... , xn, cu x1 µ A1, x2 µ A2, ... , xn µ An;

- multimile A1, A2, ... , An sunt multimi finite, iar elementele lor se considerã cã se aflã într – o relatie de ordine bine stabilitã;

- nu se dispune de o altã metodã de rezolvare, mai rapidã.

Observatii :

- nu pentru toate problemele n este cunoscut de la început;

- x1, x2, ... , xn pot fi la rândul lor vectori;

- în multe probleme, multimile A1, A2, ... , An coincid.

La întâlnirea unei astfel de probleme, dacã nu cunoastem aceastã tehnicã, suntem tentati sã generãm toate elementele produsului cartezian A1 x A2 x ... x An si fiecare element sã fie testat dacã este solutie. Rezolvând problema în acest mod, timpul de executie este foarte mare, algoritmul neavând nici o valoare practicã.

Preview document

Backtracking Recursiv - Pagina 1
Backtracking Recursiv - Pagina 2
Backtracking Recursiv - Pagina 3
Backtracking Recursiv - Pagina 4
Backtracking Recursiv - Pagina 5
Backtracking Recursiv - Pagina 6
Backtracking Recursiv - Pagina 7
Backtracking Recursiv - Pagina 8
Backtracking Recursiv - Pagina 9
Backtracking Recursiv - Pagina 10
Backtracking Recursiv - Pagina 11
Backtracking Recursiv - Pagina 12
Backtracking Recursiv - Pagina 13
Backtracking Recursiv - Pagina 14
Backtracking Recursiv - Pagina 15
Backtracking Recursiv - Pagina 16
Backtracking Recursiv - Pagina 17
Backtracking Recursiv - Pagina 18
Backtracking Recursiv - Pagina 19
Backtracking Recursiv - Pagina 20
Backtracking Recursiv - Pagina 21
Backtracking Recursiv - Pagina 22
Backtracking Recursiv - Pagina 23
Backtracking Recursiv - Pagina 24
Backtracking Recursiv - Pagina 25
Backtracking Recursiv - Pagina 26
Backtracking Recursiv - Pagina 27
Backtracking Recursiv - Pagina 28
Backtracking Recursiv - Pagina 29
Backtracking Recursiv - Pagina 30
Backtracking Recursiv - Pagina 31
Backtracking Recursiv - Pagina 32
Backtracking Recursiv - Pagina 33
Backtracking Recursiv - Pagina 34
Backtracking Recursiv - Pagina 35
Backtracking Recursiv - Pagina 36
Backtracking Recursiv - Pagina 37
Backtracking Recursiv - Pagina 38
Backtracking Recursiv - Pagina 39
Backtracking Recursiv - Pagina 40
Backtracking Recursiv - Pagina 41
Backtracking Recursiv - Pagina 42
Backtracking Recursiv - Pagina 43
Backtracking Recursiv - Pagina 44
Backtracking Recursiv - Pagina 45
Backtracking Recursiv - Pagina 46
Backtracking Recursiv - Pagina 47
Backtracking Recursiv - Pagina 48
Backtracking Recursiv - Pagina 49
Backtracking Recursiv - Pagina 50

Conținut arhivă zip

  • Backtracking Recursiv
    • ACKERMAN.CPP
    • ackerman.exe
    • Atestat.pdf
    • Backtracking Recursiv.doc
    • DAME.CPP
    • dame.exe
    • PARTITII.CPP
    • partitii.exe
    • PLATA_SU.CPP
    • plata_su.exe

Alții au mai descărcat și

Grilă sisteme informaționale de gestiune - Access

Adăugarea de câmpuri la o tabelă se face în modul de vizualizare:...... Previzualizare inaintea imprimarii Aplicarea unei restrictii de...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Baze de Date

3.Introducere in bd si sgbd-uri Definitie: Numim baza de date o colectie partajata de date aflata in interdependenta logica impreuna cu o...

Te-ar putea interesa și

Tehnici de Programare

PREZENTARE GENERALE In proiectul urmator am creat o baza de date cu referire la un hotel (ANGELA). Baza de date este impartita in doua fisiere:...

Metoda backtracking

Metoda backtracking se utilizeaza pentru rezolvarea unor probleme in care: - se obtin mai multe solutii; -solutia este formata din unul sau mai...

Problema celor 8 regine

1. Sarcina lucrării Să se scrie un program ce rezolvă următoarea problema: Problema celor 8 dame:Se cere să se găseasca toate soluţiile de...

Structuri de Date

1.Enuntul problemei Traseu in labirint Fie un labirint(o retea dreptunghiulara)-cu cellule ocupate (x) si libere (*).Fie un robot (R) in acest...

Funcții recursive - Turbo Pascal

CUVÂNT ÎNAINTE Acest proiect la informatica consta în prezentarea în limbajul de programare Turbo Pascal a unei probleme ce îsi propune sa...

Proiect - Turbo Pascal

Capitolul 1 PREZENTAREA TEHNICII BACKTRAKING Aceasta tehnica se foloseste in rezolvarea problemelor care indeplinesc simultan urmatoarele...

Tehnici de Programare

LIMBAJUL DE PROGRAMARE JAVA Java este un limbaj de programare de nivel înalt, dezvoltat de JavaSoft, companie în cadrul firmei Sun Microsystems....

Metoda backtracking

Metoda Backtracking - metoda „revenirii”, definită şi elaborată de AI (Artificial Intelligence); este o metodă folosită în cazul problemelor în...

Ai nevoie de altceva?