Documente Academic
Documente Profesional
Documente Cultură
FIER: TEORETIC
PROFIL: REAL
SPECIAZARE: MATEMATIC-INFORMATIC
ATESTAT INFORMATIC
Metode de sortare
Cuprins
1.Introducere
2.Descriere lucrrii
2.1 Prima pagin
3. Prezentarea
lucrrii..15
3.1 Pagina de
nceput
15
3.1.1 Bubble
Sort
16
3.1.2 Merge
Sort
..18
2
ATESTAT INFORMATIC
3.1.3 Selection
Sort
.20
3.1.4 Insertion
Sort
22
4.Utilizare
25
5. Resurse hard si soft
necesare..27
5.1 Programe utilizate
..28
6.Biografie
.28
1.Introducere
1.1 Motivul alegerii temei
Am ales ca tem pentru site-ul meu prezentarea
conceptului de sortare ,precum i prezentarea a 4
metode de sortare importante ,ntruct mi s-au prut utile
aceste informaii pentru oricine i dorete s le neleag
i s le nvee.
Din proprie experien mrturisesc c ,dei mai
exist anumite site-uri cu astfel de seciuni , cu i despre
metodele de sortare , niciunul nu conine toate aspectele
ATESTAT INFORMATIC
ATESTAT INFORMATIC
HTML este unul dintre primele elemente fundamentale ale WWW ( World
Wide Web ), descriind formatul primar n care documentele sunt distribuite i
vzute pe Web. Multe din trsturile lui, cum ar fi independena fa de platforma,
structurarea formatrii i legturile hipertext, fac din el un foarte bun format pentru
documentele Internet i Web. Primele specificaiile de baz ale Web-ului au fost
HTML, HTTP i URL. HTML a fost dezvoltat iniial de Tim Berners-Lee la CERN
n 1989. HTML a fost vzut ca o posibitate pentru fizicienii care utizeaz
computere diferite i schimbe ntre ei informaie utiznd Internetul. Erau prin
urmare necesare cteva trsturi: independena de platform, posibiti hypertext i
structurarea documentelor. Independena de platform nseamn ca un document
poate fi afiat n mod asemntor de computere diferite (deci cu fonte, grafica i
culori diferite ), lucru vital pentru o audien att de variat.
ATESTAT INFORMATIC
n perioada de nceput a web-ului, HTML era folosit numai pentru
structura textului. Textul se putea marca cu taguri precum i pentru a
marca titlul sau un paragraf. Odat cu creterea popularitii web-ului
designeri au nceput s caute diferite posibiti de a adaug layout
documentelor onne. Pentru a rspunde acestor cerine, productorii de
browsere (n acea vreme Microsoft i Netscape) au inventat noi taguri HTML
precum care difer fa de tagurile originale HTML prin faptul c definesc
layoutul i nu structura.
n acelai timp, separarea site-urilor de prezentare pentru documente
de coninutul documentelor uureaz foarte mult ntreinerea lor.
2.Descriere lucrrii
Adobe Dreamweaver (cunoscut anterior ca Macromedia Dreamweaver) este
o apcaie de dezvoltare web a companieiamericane Adobe Systems, disponibil att pentru
MS Windows, ct i pentru Apple Mac OS. Versiunile recente includ suport pentru
tehnologii web cum ar fi CSS, JavaScript, PHP, Cold Fusion, ct i cadre ASP.
Dreamweaver s-a bucurat de un larg succes nc de la sfritul anilor 1990 i momentan
deine aproximativ 80 % din piaa editoarelor HTML. Produsul poate fi rulat pe variate platforme
software: Mac OS, Windows, dar suport n acelai timp i platforme UNIX cu ajutorul unor
emulatoare software cum ar fi Wine.
ATESTAT INFORMATIC
Ca orice alt
editor WYSIWYG, Dreamweaver poate
ascunde detaile de implementare a
paginilor HTML, fcnd astfel posibil
crearea cu uurin a acestora i de ctre
utizatorii neexperimentai.
Dreamweaver permite folosirea
majoritii browserelor instalate
pe calculatorul utizatorului, pentru a
previzuaza situl webcreat. De asemenea
conine i cteva utitare pentru
administrarea siturilor, cum ar fi cele
pentru a gsi i modifica un paragraf sau o nie de cod, n ntregul sit, pe baza oricror
parametri specificai de ctre
utizator. Cu ajutorul panourilor de stare se poate crea cod JavaScript fr a avea
cunotine de programare.
Un aspect foarte ludat al Dreamweaver-ului l reprezint arhitectura sa extensibil.
Extensiile sunt mici programe pe care orice dezvoltator le poate scrie (de obicei n HTML i
JavaScript) i pe care oricine le poate descrca i instala, acestea aducnd un spor de
performan i funcionatate mbuntit programului
ATESTAT INFORMATIC
a{display:block;height:90px;
text-
indent:-4000px;
background:url(imagini/logo.gif); }
Codul surs pentru inserarea acestei imagini:
<h1id="logo"><ahref="#">Metode
de
sortare</a></h1>
jos.
Codul meniului:
<div id="navigation">
<ul>
<li><a
href="index.html">Introducere<span><em></em></span></a></li>
<li><a
href="metodabulelor%20.html">Bubble
Sort<span><em></em></span></a></li>
ATESTAT INFORMATIC
<li><a
href="metodaprininterschimbare.html">Merge
Sort<span><em></em></span></a></li>
<li><a
href="metodaprinselectie.html">Selection
Sort<span><em></em></span></a></li>
<li><a
href="metodaprininsertie.html">Insertion
Sort<span><em></em></span></a></li>
<li><a
href="videoexplicativ.html">Video
explicativ<span><em></em></span></a></li>
<li
class="last"><a
href="despre.html">Despre<span><em></em></span></a></li>
</ul>
</div>
Creerea slide-urilor
Un plus al paginii Web este creerea slide-urilor de pe prima
pagina.Acestea au fost create cu ajutorul codurilor CSS si
scripturilor Java,care le folosim si pentru a se incarca mai usor
pagina WEB.
Scripturi Java:
$( document ).ready( function(){
$('.sdes
1,wrap:
){
ul').jcarousel({scroll:
'both',auto:
6,initCallback:
_init_carousel,
var
itemFirstInCallback:_first_callback,
(this).parent().parent().find('a').index(this)
buttonNextHTML: null,
+ 1carousel.scroll( index );
buttonPrevHTML: null
return false;});};
});$('#navigation ').hover(
function(){ $(this).find('a').add('hover') },
state) {
function(){
index
(this).find('a').remove('hover') }
$('#sder-navigation
ATESTAT INFORMATIC
);});function _init_carousel(carousel
a').remove('active')
$('#sder-navigation
a').eq(index).add('active');
Cod CSS:
#slider { height:298px; background:url(imagini/slider.gif); }
.slides { width:980px; height:298px; position:relative; overflow:hidden; color:#b6b6b6; }
.slides .jcarousel-clip { width:980px; height:298px; position:relative; overflow:hidden; }
.slides ul { width:980px; height:298px; position:relative; overflow:hidden; list-style-type: none;}
.slides ul li{ float:left; display:inline; width:980px; height:260px; position:relative; overflow:hidden; paddingtop:38px;}
.slide-info { float:left; width:720px; padding-top:20px;}
.slide-info h2{ padding-bottom:20px;}
.slide-info p{ padding-bottom:15px;}
.slide-image { float:right; width:219px; height:240px; }
.image1 { background:url(imagini/slide-image.png); }
#slider-navigation { height:67px; background:url(imagini/slider-nav.gif); }
#slider-navigation ul{ list-style-type: none; position:relative; width:1003px; margin-right:-23px; height:67px;}
#slider-navigation ul li{ float:left; display:inline; position:relative; margin:-35px 95px -22px 0;}
#slider-navigation ul li.last{ margin-right:0;}
#slider-navigation ul li a{ float:left; width:171px; height:79px; background:url(imagini/slide-button.png) no-repeat 0
0; position:relative;
left:-10px; color:#686767; font-size:14px; text-decoration: none; font-weight: bold; padding:45px 0 0
100px;}
href="#"
class="active">PASUL
class="ico1"></em></a></li>
10
1<strong>Necesitatea
sortrilor</strong><em
ATESTAT INFORMATIC
<li><a href="#">PASUL 2<strong>Cum nelegem?</strong><em class="ico2"></em></a></li>
<li class="last"><a href="#">PASUL 3<strong>Ce e sortarea?</strong><em class="ico3"></em></a></li>
</ul>
</div>
11
ATESTAT INFORMATIC
Liste numerotate
<li><strong><i>Cazul Mediu</i></strong>=<b>O(N<sup>2</sup>)</b></li>
<li><strong><i>Cazul defavorabil</i></strong>=<b>O(N<sup>2</sup>)</b></li>
<li><strong><i>Memorie folosita
<li><strong><i>Sortare descresctoare</i></strong>=<b><font color="red">a[i] < a[i+1] </font></b> </li>
<li><strong><i>Sortare cresctoare</i></strong>=<b><font color="red">a[i] > a[i+1] </font></b>
</li></i></strong>=<b>O(1)</b></li>
12
ATESTAT INFORMATIC
<li><strong><i>Stabilitate</i></strong>=<b>DA</b></li>
em
ins
big
small
sub
sup
del
Definete ters
Atribut
Valoare
Descriere
font color=
#xxxxxx
numele_culorii
rgb(x,x,x)
font face=
famia_fontului
font size=
numr
13
ATESTAT INFORMATIC
Cod HTML:
img
src="css/imagini/Metodabulelor.jpg"widt
h="767" height="269"alt="Metoda
bulelor" /
14
ATESTAT INFORMATIC
15
ATESTAT INFORMATIC
ATESTAT INFORMATIC
17
ATESTAT INFORMATIC
Cazul Mediu - situatia in care probabilitatea duratei executiei
algoritmului se apropie de media timpului de executie al algoritmului
respectiv
Cazul defavorabil - situatia in care timpul de executie al algoritmului
este cel mai ridicat
Memorie folosita memoria necesara sortarii vectorului
Stabilitate stabileste daca algoritmul prezentat nu are nevoie de o
implementare speciala pentru vectorii ce au valori egale
Sortare descrescatoare liniile de cod ce trebuie modificate in
implementarea algoritmului pentru a sorta vectorul descrescator
Sortare crescatoare liniile de cod ce trebuie modificare in
implementare algoritmului pentru a sorta vectorul crescator
1.Descriere
Sortarea prin metoda bulelor se considera drept una din cele mai putin efective metode de
sortare dar cu un algoritm mai putin complicat.
Prin metoda de sortare se parcurge vectorul i se compar fiecare element cu succesorul su.
Deci se parcurge vectorul att timp ct mai exist o pereche (a[i],a[i+1]) cu a[i] > a[i+1] sau a[i]<
a[i+1] i dac nu sunt n ordine cele dou elemente, acestea se interschimb ntre ele.
18
ATESTAT INFORMATIC
La prima parcurgere elementul de valoare maxim se deplaseaz ctre ultima poziie. La a
doua parcurgere, elementul imediat urmtor ca valoare dup elementul maxim se deplaseaz
ctre penultima poziie. Vectorul se parcurge de mai multe ori, pn cnd la o parcurgere
complet nu se mai execut nici o interschimbare ntre elemente, nici o deplasare.
#include <iostream>
using namespace std;
int main()
{
int a[20],n,i,inv,aux;
cout<<"Introduceti dimensiunea vectorului: n=";cin>>n;
cout<<"Introduceti elementele vectorului:"<<endl;
for(i=1;i<=n;i++)
{
cout<<"a["<<i<<"]=";
19
ATESTAT INFORMATIC
cin>>a[i];
}
do
{
inv=0;
for(i=1;i<n;i++)
if(a[i]>a[i+1])
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
inv=1;
}
}
while(inv==1);
cout<<"Dupa sortarea bubble sort, vectorul este: ";
for(i=1;i<=n;i++)
cout<<a[i]<<" ";
return 0;
3.2 Merge Sort
1.Cazul Mediu=O(N logN)
2.Cazul defavorabil=O(N logN)
3.Memorie folosita=O(N)
4.Stabilitate=DA
5.Sortare descresctoare=b[i] >= a[j]
6.Sortare cresctoare=b[i] <= a[j]
1.Descriere
n informatic, Merge Sort , denumit i algoritm de sortare prin interclasare este un
algoritm de sortare cu complexitatea O(nlogn), inventat de John von Neumann n 1945. Este un
exemplu algoritm de tip divide et impera.
20
ATESTAT INFORMATIC
Merge Sort are la baz interclasarea a doi vectori: fiind dai doi vectori ordonai, se
obine un al treilea vector ordonat care va conine elementele din cei doi vectori.
21
ATESTAT INFORMATIC
#include <iostream>
using namespace std;
int a[50];
void merge(int,int,int);
void merge_sort(int st,int dr)
{
int mid;
if(st<dr)
{
mid = st + (dr-st)/2;
merge_sort(st,mid);
merge_sort(mid+1,dr);
merge(st,mid,dr);
}
}
void merge(int st,int mid,int dr)
{
int h,i,j,b[50],k;
h=st;
i=st;
j=mid+1;
while((h<=mid)&&(j<=dr))
{
if(a[h]<=a[j])
{
b[i]=a[h];
h++;
}
else
{
b[i]=a[j];
j++;
}
i++;
}
if(h>mid)
{
for(k=j;k<=dr;k++)
{
b[i]=a[k];
i++;
}
}
else
{
for(k=h;k<=mid;k++)
{
b[i]=a[k];
i++;
}
}
for(k=st;k<=dr;k++)
a[k]=b[k];
}
int main()
{
int num,i;
cout<<"Introduceti numarul
de elemente:";cin>>num;
cout<<endl;
cout<<"Introduceti
elementele
vectorului:"<<endl;
for(i=1;i<=num;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i] ;
}
merge_sort(1,num);
cout<<endl;
cout<<"Dupa Merge Sort ,
vectorul sortat va fi:"<<endl;
for(i=1;i<=num;i++)
cout<<a[i]<<" ";
return 0;
}
22
ATESTAT INFORMATIC
1.Descriere
Sortarea prin selecia minimului (sau maximului) este metoda de ordonare prin
selectarea unui element i plasarea lui pe poziia sa final direct n tabloul A.Nu este un algoritm
indicat pentru vectorii mari, n majoritatea cazurilor oferind rezultate mai slabe dect Insertion
Sort i Bubble Sort.
De exemplu, n caz de ordonare cresctoare, pornind de la primul element se caut
valoarea minim din tablou. Aceasta se aeaz pe prima poziie printr-o interschimbare ntre
>elementul de pe prima poziie i elementul minim de pe poziia k. Apoi, se reia algoritmul,
pornind de la a doua poziie i se caut minimul ntre elementele a2, ..., an. Acesta se
interschimb cu al doilea dac este cazul. Procedeul se continu pn la ultimul element.
Este asemntoare cu Bubble Sort anterioar:la prima parcurgere valoarea minimal se
deplaseaz ctre prima poziie,la a doua parcurgere urmtorul element ca valoare va ocupa a
doua poziie, etc.
ATESTAT INFORMATIC
#include <iostream>
using namespace std;
int main()
{
int v[20],n,i,j,k,min,temp;
cout<<"Introduceti dimensiunea vectorului: n=";cin>>n;
cout<<"Introduceti elementele vectorului:"<<endl;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<n;i++)
{
min=v[i];
k=i;
for(j=i+1;j<=n;j++)
if(v[j]<min)
{
min=v[j];
k=j;
}
temp=v[i];
v[i]=v[k];
v[k]=temp;
}
cout<<"Dupa sortarea prin selectie directa, vectorul este: ";
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
}
24
ATESTAT INFORMATIC
1.Descriere
Spre deosebire de ali algoritmi de sortare, sortarea prin inserie este folosit
destul de des pentru sortarea tablourilor cu numr mic de elemente. De
exemplu, poate fi folosit pentru a mbunti rutina de sortare rapid
Sortarea prin inserie, este un algoritm eficient pentru sortarea unui numr mic
de obiecte. Sortarea prin inserie funcioneaz n acelai fel n care muli
oameni sorteaz un pachet de cri de joc. Se ncepe cu pachetul aezat pe
mas cu faa n jos i cu mna stng goal. Apoi, lum cte o carte de pe
mas i o inserm n poziia corect n mna stng. Pentru a gsi poziia
corect pentru o carte dat, o comparm cu fiecare dintre crile aflate deja n
mna stng, de la dreapta la stnga (sau de la stnga la dreapta), aa cum
este ilustrat n figura de mai jos.
Sortarea prin inserie seamn oarecum cu sortarea prin selecie. Tabloul este
mprit imaginar n dou pri,o parte sortat i o parte nesortat. La nceput,
25
ATESTAT INFORMATIC
26
ATESTAT INFORMATIC
cout<<"Vectorul sortat este: ";
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
return 0;
}
4. Utilizare
Domenii de utilizare
Lucrarea prezentat are un scop informative ,
ns i educative. Poate fi folosit cu uurin de
ctre persoanele care i doresc s nvee principiul
fiecrei dintre cele 4 metode de sortare , precum i
implementarea acesteia n C++.Totodat ,este un
bun ajutor pentru elevii de liceu a cror informaii
din site le sunt materie obligatorie i esenial.Iar
prezena imaginior ,explicaiilor i video-urilor fac
posibil crearea unei preri din punct de vedere
vizual.
27
ATESTAT INFORMATIC
Hardware
Procesor(CPU) : 900 MHz+Memorie(RAM) : 64MbSpaiu liber: 190Mb
Monitor: VGA 16-bit color
Software
Sistem de operare: Windows 98/2000/XP
Internet Browser: Google Chrome ,iExplorer
Resurse recomandate
28
ATESTAT INFORMATIC
Adobe Dreamweaver 8
PhotoScape
Notepad ++
YoutubeDownloader
6.Biografie
http://www.worldit.info/
29
ATESTAT INFORMATIC
http://www.wikipedia.ro/
30