Metode de Programare - Elemente de Combinatorică

Seminar
8/10 (1 vot)
Conține 1 fișier: doc
Pagini : 10 în total
Cuvinte : 1165
Mărime: 27.83KB (arhivat)
Publicat de: Ernest Szabo
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Pop Ioana

Extras din seminar

2.1. Permutări

Fie . Să se scrie un program recursiv de generare a permutărilor de ordin n. De exemplu, pentru n = 3, programul va genera:

1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

Soluţie: Permutările de ordin n reprezintă toate posibilităţile de a aranja elementele unei mulţimi de n elemente. Permutările de ordin n sunt funcţii bijective de forma:

a: {l, 2,..., n} –> {l, 2,..., n}. Reprezentăm o astfel de funcţie printr-un vector a cu n componente având semnificaţia: a[i] este elementul asociat prin intermediul funcţiei a elementului i ( ).

Condiţii:

– ;

– .

Observaţii:

1) În loc să verificăm pentru fiecare element i dacă este sau nu un potrivit pentru poziţia k prin compararea lui i cu elementele deja fixate în vectorul a (a [l], a [2],..., a[k - l]), am preferat să optimizăm funcţia de generare, utilizând o variabilă globală suplimentară (şirul aux). Acesta reprezintă şirul caracteristic al mulţimii elementelor imagine ale funcţiei a (aux [ i ] este l dacă elementul i a mai fost folosit, adică reprezintă deja imaginea unui element din mulţimea {l, 2, ..., k – l}, respectiv 0, dacă i nu a mai fost folosit). Când plasăm un număr i pe poziţia k, acesta reprezintă imaginea lui k prin intermediul funcţiei, deci aux [ i ] va deveni l. Când revenim dintr-un apel recursiv, pe poziţia k urmează să plasăm un alt număr, deci i nu va mai fi imaginea lui k, prin urmare aux [ i ] trebuie să redevină 0.

2) Numărul permutărilor de ordin n este: .

2.2. Aranjamente

Fie cu . Să se scrie un program recursiv care să genereze aranjamentele de n elemente luate câte m. De exemplu, pentru n = 3 şi m = 2, programul va genera:

1 2

1 3

2 1

2 3

3 1

3 2

Soluţie: Aranjamentele de n elemente luate câte m reprezintă toate submulţimile ordonate de m elemente ale unei mulţimi cu n elemente. Aranjamentele de n elemente luate câte m sunt funcţiile injective de forma: b: {l, 2,..., m} –> {l, 2,..., n}.

Reprezentăm o funcţie printr-un vector b, cu m componente, b [ i ] este elementul asociat prin intermediul funcţiei b elementului i ( ).

Condiţii:

– ;

– .

Singura diferenţă dintre generarea permutărilor şi generarea aranjamentelor constă în dimensiunea şirului soluţie.

Numărul aranjamente de n elemente luate câte m este::

Preview document

Metode de Programare - Elemente de Combinatorică - Pagina 1
Metode de Programare - Elemente de Combinatorică - Pagina 2
Metode de Programare - Elemente de Combinatorică - Pagina 3
Metode de Programare - Elemente de Combinatorică - Pagina 4
Metode de Programare - Elemente de Combinatorică - Pagina 5
Metode de Programare - Elemente de Combinatorică - Pagina 6
Metode de Programare - Elemente de Combinatorică - Pagina 7
Metode de Programare - Elemente de Combinatorică - Pagina 8
Metode de Programare - Elemente de Combinatorică - Pagina 9
Metode de Programare - Elemente de Combinatorică - Pagina 10

Conținut arhivă zip

  • Metode de Programare - Elemente de Combinatorica.doc

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

Problema comisului voiajor

I. Noţiuni fundamentale Originile teoriei grafurilor se găsesc în rezolvarea unor probleme de jocuri şi amuzamente matematice,care au atras...

Conceptul de management - evoluția conceptului de management

Etimologia Managementul este un termen provenit din limba engleză şi adoptat ca atare, cu o semantică foarte complexă, care desemnează ştiinţa...

Suport de Curs Management

1.1 Definirea managementului Obiectul de studiu. Ştiinţa managementului si managementul ştiinţific Folosit iniţial în ţările anglo-saxone,...

Algoritmica grafurilor

Capitolul 1 INTRODUCERE Pentru noţiunile din acest paragraf am consultat Behzad, Chartrand, Foster, Croitoru, Olaru, Tomescu. Alte completări...

Metode Numerice

Introducere Ultimele decenii au fost marcate de progresul mijloacelor de calcul. Asistăm la o competiţie între dezvoltarea tehnologică şi...

Didactică de specialitate

CAPITOLUL : I DE LA TEORIA COMENIANA LA DIDACTICA MODERNA Conceptul * DIDACTICA * a fost întrodus în circulatie de catre pedagogul ceh JAN CIMOS...

Problematica managementului

Capitolul 1 PROBLEMATICA MANAGEMENTULUI FIRMEI 1.1. Conţinutul şi importanţa managementului Managementul este un fenomen complex şi de mari...

Algoritmi și Structuri de Date

ALGORITMI. METODE DE DESCRIERE A ALGORITMILOR 1.1 Scurt istoric În secolul al IX-lea d.Hr., un matematician persan, Abu Abdullah Muhammed bin...

Ai nevoie de altceva?