Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi

Seminar
8.3/10 (3 voturi)
Domeniu: Calculatoare
Conține 20 fișiere: doc
Pagini : 50 în total
Cuvinte : 23951
Mărime: 249.06KB (arhivat)
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Georgescu Horia
Metoda Backtracking, Arbori, Grafuri, Greedy, Divide et Impera, Metoda programării dinamice, Algoritmi

Extras din seminar

• Arbori

Numim arbore un graf neorientat conex şi fără cicluri.

Aceasta nu este singurul mod în care putem defini arborii. Câteva definiţii echivalente apar în următoarea teoremă, expusă fără demonstraţie.

Teoremă. Fie G un graf cu n1 vârfuri. Următoarele afirmaţii sunt echivalente:

1) G este un arbore;

2) G are n-1 muchii şi nu conţine cicluri;

3) G are n-1 muchii şi este conex;

4) oricare două vârfuri din G sunt unite printr-un unic drum;

5) G nu conţine cicluri şi adăugarea unei noi muchii produce un unic ciclu elementar;

6) G este conex, dar devine neconex prin ştergerea oricărei muchii.

În foarte multe probleme referitoare la arbori este pus în evidenţă un vârf al său, numit rădăcină. Alegerea unui vârf drept rădăcină are două consecinţe:

• Arborele poate fi aşezat pe niveluri astfel:

- rădăcina este aşezată pe nivelul 0;

- pe fiecare nivel i sunt plasate vârfurile pentru care lungimea drumurilor care le leagă de rădăcină este i;

- se trasează muchiile arborelui.

Această aşezare pe niveluri face mai intuitivă noţiunea de arbore, cu precizarea că în informatică "arborii cresc în jos".

Exemplul 3. Considerăm următorul arbore şi modul în care el este aşezat pe niveluri prin alegerea vârfului 5 drept rădăcină.

• Arborele poate fi considerat un graf orientat, stabilind pe fiecare muchie sensul de la nivelul superior către nivelul inferior.

Reprezentarea pe niveluri a arborilor face ca noţiunile de fii (descendenţi) ai unui vârf, precum şi de tată al unui vârf să aibă semnificaţii evidente. Un vârf fără descendenţi se numeşte frunză.

• Arbori binari

Un arbore binar este un arbore în care orice vârf are cel mult doi descendenţi, cu precizarea că se face distincţie între descendentul stâng şi cel drept. Din acestă definiţie rezultă că un arbore binar nu este propriu-zis un caz particular de arbore.

Primele probleme care se pun pentru arborii binari (ca şi pentru arborii oarecare şi pentru grafuri, aşa cum vom vedea mai târziu) sunt:

- modul de reprezentare;

- parcurgerea lor.

Forma standard de reprezentare a unui arbore binar constă în:

- a preciza rădăcina rad a arborelui;

- a preciza pentru fiecare vârf i tripletul st(i), dr(i) şi info(i), unde acestea sunt respectiv descendentul stâng, descendentul drept şi informaţia ataşată vârfului.

Trebuie stabilită o convenţie pentru lipsa unuia sau a ambilor descendenţi, ca de exemplu specificarea lor prin simbolul .

Exemplul 4. Considerăm de exemplu următorul arbore binar:

Presupunând că informaţia ataşată fiecărui vârf este chiar numărul său de ordine, avem:

- rad = 1;

- st = (2,3,4,,6,,,,);

- dr = (8,5,,,7,,,9,);

- info= (1,2,3,4,5,6,7,8,9).

Dintre diferitele alte reprezentări posibile, mai menţionăm doar pe cea care se reduce la vectorul său tata şi la vectorul info. Pentru exemplul de mai sus:

tata=(,1,2,3,2,5,5,1,8).

Problema parcurgerii unui arbore binar constă în identificarea unei modalităţi prin care, plecând din rădăcină şi mergând pe muchii, să ajungem în toate vârfurile; în plus, atingerea fiecărui vârf este pusă în evidenţă o singură dată: spunem că vizităm vârful respectiv. Acţiunea întreprinsă la vizitarea unui vârf depinde de problema concretă şi poate fi de exemplu tipărirea informaţiei ataşate vârfului.

Preview document

Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 1
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 2
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 3
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 4
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 5
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 6
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 7
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 8
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 9
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 10
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 11
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 12
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 13
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 14
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 15
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 16
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 17
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 18
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 19
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 20
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 21
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 22
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 23
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 24
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 25
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 26
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 27
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 28
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 29
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 30
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 31
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 32
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 33
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 34
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 35
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 36
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 37
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 38
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 39
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 40
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 41
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 42
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 43
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 44
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 45
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 46
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 47
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 48
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 49
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 50
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 51
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 52
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 53
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 54
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 55
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 56
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 57
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 58
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 59
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 60
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 61
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 62
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 63
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 64
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 65
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 66
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 67
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 68
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 69
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 70
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 71
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 72
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 73
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 74
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 75
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 76
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 77
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 78
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 79
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 80
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 81
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 82
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 83
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 84
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 85
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 86
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 87
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 88
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 89
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 90
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 91
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 92
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 93
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 94
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 95
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 96
Metoda backtracking, arbori, grafuri, greedy, divide et impera, metoda programării dinamice, algoritmi - Pagina 97

Conținut arhivă zip

  • 2_arbori.doc
  • 4_greedy.doc
  • Arbori binari.doc
  • Backtracking.doc
  • Clase.doc
  • divide et impera.doc
  • divide_et_impera.doc
  • Enunturi.doc
  • enunturi2.doc
  • enunturi4.doc
  • enunturi4i.doc
  • enunturi6.doc
  • lab1c.doc
  • lab1colegiu.doc
  • lab1faraclase.doc
  • Lista_tabele.doc
  • probleme.doc
  • Seminar Greedy.doc
  • Sortarea cu ansamble.doc
  • stergere arbori sortare.doc

Alții au mai descărcat și

Folosirea MySQL și PHP în Gestionarea unei Baze de Date pe Web

Introducere Conţinutul lucrării este dat de construcţia de legături dintre World Wide Web şi baze de date, dintre tehnologia veche şi cea nouă,...

Turbo Pascal - metoda backtracking - tehnica Greedy

Aparitia limbajului Pascal este un raspuns la criza care a aparut in domeniul programarii calculatoarelor , la sfarsitul anilor ’60 . Limitarile...

Java Script

1. Prezentare generala JavaScript a fost creat de firma Netscape, ca un limbaj de programare pentru prelucrarea evenimentelor ce apar în timpul...

Utilizarea și Programarea Calculatoarelor

Introducere în programarea calculatoarelor - Circuitele electronice ale calculatoarelor sunt capabile sa efectueze un numar limitat de operaCii...

Sisteme Informatice

CAP. 1 SISTEME INFORMATICE 1.1 CONCEPTUL DE SISTEM INFORMATIC O firmă este sediul unor activităţi informaţionale variate (culegerea şi...

Utilizarea și Programarea Calculatorului

Introducere în programarea calculatoarelor 1. Utilizarea unui calculator 2. Programarea unui calculator 3. Structura şi funcţionarea unui...

Limbaje de Asamblare

Introducere. Necesitatea programării în limbaje de asamblare Modalităţile de programare s-au schimbat imens de la inventarea calculatorului, în...

Structuri de Date și Algoritmi

Lucrarea 1 Evaluarea si masurarea timpului de executie al unui algoritm 1.Definitia unui tip de date abstract - TDA Un TDA este un model...

Te-ar putea interesa și

Java - Metoda Backtracking, Arbori, Grafuri, Greedy, Divide et Impera, Metoda Programării Dinamice, Algoritmi

Despre algoritmi • Diferenţe între informatică şi matematică 1) În lucrul pe calculator, majoritatea proprietăţilor algebrice nu sunt...

Ai nevoie de altceva?