Sortarea prin numărare

Slides:



Advertisements
Prezentări similare
ELECTRONICĂ II Notiţe de curs Cursul nr. 8
Advertisements

Algoritmii Dijkstra si Bellman-Ford pentru determinarea costului minim
Care sunt aceste numere?
Aplicaţii Calculaţi media aritmetică şi suma pătratelor numerelor 10, 12, 57, 23, 99 folosind caseta statistică a calculatorului. Calculaţi valoarea expresiei.
Determinarea divizorilor unui numar
8 Gestiunea fişierelor 22 aprilie 2010
Recapitulare – rezolvați următorul rebus:
Internet - notiuni generale
Care va fi adevăratul impact asupra angajaților din CFR
Structura sistemelor de calcul (03-5)
ZIUA PORŢILOR DESCHISE,
Universitatea Politehnica Bucuresti Anul universitar
CREAREA DE LINK-URI.
Profesor IOAN AIACOBOAIE
Curs 4 Analiza structurii unei lucrări (de ce mi-a plăcut această lucrare?) Analiza conţinutului unei abordări în QA.
Prof.Ghetman Daniela Grup Şcolar”Al.Vlahuţǎ” Şendriceni
Procesarea și optimizarea interogărilor
O PROPUNERE DE DEFINIŢII DE TERMENI DIN TEHNOLOGIA INFORMAŢIEI
Facultatea de Informatică Universitatea “Al. I
Birotica  Excel_1 C5 / Prezentare generală Ferestra Excel
Conținut Matrice.
De ce sărbătorim Paştele
MEDIUL LIMBAJULUI DE PROGRAMARE STUDIAT
PORTMEIRION - LOCUL EXOTIC DIN TARA GALILOR
Viaţa în Irlanda şi UK lucrând ca şi asistent medical generalist
Locatie:Poarta Schei nr.27
„Cum facem sa nu ni se intample noua?...“!
PROPRIETĂŢILE DETERMINANŢILOR
Evanghelia după Marcu Cap. 1 Cap. 2 Cine este Isus ?
31 Decembrie 2017 De unde și încotro?.
Durata de implementare proiect -16 luni
PROFESIONIST vs. SPECIALIST
Organizarea informaţiilor pe disc
Politici publice-concept,tipologie Ananliza politicilor publice
Gestiunea blocajelor în Cloud
SORTAREA PRIN METODA BULELOR
2. Unitatea aritmetică și logică
Algoritmi.
Aplicații for Nivel - Inițiere.
S t r u c t u r i l i n i a r e  .
Să știi mai multe, să fii mai bun
Optimizarea funcțiilor de pierdere. Algoritmul coborârii pe gradient.
ALGORITMI PENTRU SORTAREA UNUI VECTOR
DESCOMPUNERI ÎN FACTORI.
Geometria şi algebra sunt două surori?
TDA şir Structuri de date şi algoritmi -laborator-
5. Introducere în arhitecturi paralele
1. Sfânt Sabat, Sfânt Sabat, Tu odihnă azi ne-ai dat; Ploaia Spiritului Sfânt, Se revarsă pe pământ; Azi e zi de Sabat Sfânt!
Instrumentele financiare derivate
Harul de a fi parte la Evanghelie
Cursul 7: Memorarea şi managementul informațiilor economice
Curs 10-Operatii cu pointeri -Pointeri la tablouri
1. Când viaţa ta-i Senină şi ceru-nseninat Adesea frate dragă, Poate c-ai uitat, Să-I mulţumeşti lui Isus, Priveşte-n jurul Tău Te-a binecuvântat Și.
Teoremele lui Kirchhoff
ESANTIONAREA SI CUANTIZAREA IMAGINILOR 1. Introducere
Zidiţi Casa! Eu Mă voi bucura de lucrul acesta şi voi fi proslăvit, zice Domnul Hagai 1:1-2:23.
Importanța legii periodicității
Sisteme de operare în timp real Contiki
“Invatatura fara gandire este munca pierduta,gandirea fara invatatura este periculoasa.” Confucius.
Introducere in Geoinformatica
Curs 9-Pointeri la variabile -Pointeri la siruri de caractere
CE TREBUIE SĂ CONȚINĂ DOSARUL FACULTATEA DE GEOGRAFIE
2. Jertfa de miros Plăcut pe altarul Său Este-atunci Când mulţumirea //: O dai lui Dumnezeu. ://
Structura sistemelor de calcul (02-3)
PERM CENTRUL DE PREGATIRE PENTRU PERFORMANTA IN PROGRAMARE- ELECTRONICA-ROBOTICA-MECANICA DISCIPLINA: ELECTRONICĂ APLICATĂ, PROGRAMARE ŞI ELEMENTE DE.
VĂ ROG SĂ PĂSTRAŢI LINIŞTEA !.
Instrumentar de formare privind APE 7. 4
Raportul Grupului de Lucru 3
Transcriere de prezentare:

Sortarea prin numărare Descriere Metoda sortării prin numărare constă în găsirea pentru fiecare element A[i], a numărului de elemente din vector, mai mici ca el. Numerele obţinute sunt memorate într-un vector C; elementele vectorului de sortat A, sunt iniţial atribuite vectorului B. Pe baza vectorului C, elementele lui B vor fi aranjate în vectorul A. Exemplu Vrem să sortăm urmatorul şir: A= (9, -5, 2, 12, 4) Elementele lui A le atribuim lui B: B= (9, -5, 2, 12, 4) Pentru fiecare element A[j] numărăm câte elemente sunt mai mici ca el, aceste numere reţinându-le în vectorul C: C=(3, 0, 1, 4, 2) se reconstitue vect A astfel: A[c[1]+1]=B[1];A[c[2]+1]=B[2]... obţinându-se vectorul A sortat (-5, 2, 4, 9, 12)

A= 9 -5 2 12 4 9 -5 2 12 4 Elementele lui A le atribuim lui B 3 4 5 Elementele lui A le atribuim lui B Elementele lui A le atribuim lui B B= 9 -5 2 12 4 i= 1 2 3 4 5 Pentru fiecare element A[i] numaram cate elemente sunt mai mici ca el, aceste numere retinandu-le in vectorul C C= 2

A= 9 -5 2 12 4 3 elemnete mai mici decat 9 i= 1 2 3 4 5 C= 3 3

A= 9 -5 2 12 4 Nici un elemnet mai mic decat -5 i= 1 2 3 4 5 C= 3 4

A= 9 -5 2 12 4 Un element mai mic decat 2 i= 1 2 3 4 5 C= 3 1 5

A= 9 -5 2 12 4 4 elemente mai mici decat 12 i= 1 2 3 4 5 C= 3 1 4 6

A= 9 -5 2 12 4 2 elemente mai mici decat 4 i= 1 2 3 4 5 C= 3 1 4 2 7

A= 9 -5 2 12 4 i= 1 2 3 4 5 Elemente lui A vor ocupa pozitia C[i]+1 C= 3 1 4 2 Se reconstituie vectorul A astfel A[c[i]+1]=B[i] B= 9 9 -5 -5 2 2 12 12 4 4 i= 1 2 3 4 5 8

Algoritm descris în pseudocod Pentru i ← 1,n execută c[i] ← 0; b[i] ← a[i]; sfpentru pentru j ← 2,n execută pentru i← 1,j-1 execută dacă a[i]<a[j] atunci c[j] ← c[j]+1 altfel c[i] ← c[i]+1; sfdacă pentru i ← 1,n execută a[c[i]+1] ← b[i]