Forumlar » 2. Programlama » C++ » Algoritma ve Sıralama

 

> 1 <
Yazar Mesaj

Çevirmiçi mi? Kasket

volkan bey
9 ileti
http://www.igdirmyo.com
Şehir: Türkiye istanbul
Meslek: öğrenci
Yaş:
13:27 29-12-2004 GMT+02 saat      
Arkadaşlar bana öbek arama (heap sor) ve kova arama (bucket sort) hakkında bol bol döküman lazım hatta mümkünse diğer arama yöntemlerinide verebilirsiniz... Ve akış diyagramları da lazım. Birde pascal da kodlanmış hali bu illada lazım değil bunu ben merak ediyom , diğerleri araştırma konum internette arama yapıyorum ama Türkçe döküman yok (ne yazık ki). Konu hakkında bilgi alabileceğim Türkçe site varsa yönlendirme ve önerilerinizi bekliyorum teşekkür ederim. (Nette konuyu araştırırken sizi buldum,bu arada formunuzda çok güzel )

Çevirmiçi mi? Bahadır DAVUT

Bahadır Davut
444 ileti

Şehir: Türkiye
Meslek:
Yaş: 24
13:53 29-12-2004 GMT+02 saat      
bubble ve selecrtion sort için buradan ulaşabilirsin, örnek c kodlarını da istersen verebilirim, diğerleri konusunda da diyagramları felan buluruz, eğer c biliyosan pascal a çevirmen kolay olur, çünkü çok radikal farkları yok iki dil arasında.

Çevirmiçi mi? zakkeyboorock

Zeki Burak Ata
480 ileti
http://www.biltec.org
Şehir: /bin/bash
Meslek: THE ONE
Yaş: 23
16:34 29-12-2004 GMT+02 saat      
Kod:
void linear_search(int arr[],int key)
{
for(int i=0;i<10000;i++)
if(arr[i]==key)
{
cout<<"Linear Search:"<<endl;
cout<<"Number of searched: "<<key<<" is the "<<i<<" element of the
array.Number of comperison:"<<i+1<<endl;
break;
}
}

void binary_search(int arr[],int key)
{
int low=0,middle,high=10000,count=0;

bubblesort(arr,10000);
while (low<=high)
{
middle=(low+high)/2;
if(key==arr[middle])
{
cout<<"Binary Search:"<<endl;
cout<<"The number searched: "<<key<<" is the "<<middle<<" element of
array.Number of comparison: "<<count+1<<endl;
break;
}
else if(key<arr[middle])
{
high=middle-1;
count++;
}
else
{
low=middle+1;
count++;
}
}
}
void bubblesort(int arr[],int size)
{
int hold;
for(int pass=1;pass<size;pass++)
for(int i=0;i<size-1;i++)
if(arr[i]>arr[i+1])
{
hold=arr[i];
arr[i]=arr[i+1];
arr[i+1]=hold;
}
}
In me you trust

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
04:58 30-12-2004 GMT+02 saat      
Heap Sort (Pascal)

Kod:
procedure sort( var r : ArrayToSort; lo, up : integer );

     var  i : integer;
          tempr : ArrayEntry;
     begin
     {*** construct heap ***}
     for i := (up div 2) downto 2 do    siftup(r,i,up);
     {*** repeatedly extract maximum ***}
     for i := up downto 2 do begin
          siftup(r,1,i);
          tempr := r[1];
          r[1] := r[i];
          r[i] := tempr
          end
     end;

Bu mesaj Musa tarafından düzenlendi (05:04 30-12-2004 GMT+02 saat, önce)
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
05:00 30-12-2004 GMT+02 saat      
Radix Sort (Pascal)

Kod:
function sort( r : list ) : list;
var head, tail : array[1..M] of list;
i, j, h : integer;

begin
for i:=D downto 1 do begin
for j:=1 to M do head[j] := nil;
while r <> nil do begin
h := charac( i, r^.k );
if head[h]=nil then head[h] := r
else tail[h]^.next := r;
tail[h] := r;
r := r^.next;
end;
{*** Concatenate lists ***}
r := nil;
for j:=M downto 1 do
if head[j] <> nil then begin
tail[j]^.next := r;
r := head[j]
end
end;
sort := r
end;
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
05:01 30-12-2004 GMT+02 saat      
Quicksort for lists (Pascal)

Kod:
function sort ( r : list ) : list;
var lowf,lowl, midf,midl, highf,highl : list;

begin
if r = nil then begin Last := nil; sort := r end
else begin
lowf := nil; midf := nil; highf := nil;
{*** First key becomes splitter ***}
tailins( r, midf, midl );
r := r^.next;
while r<>nil do begin
if r^.k<midf^.k then tailins(r,lowf,lowl)
else if r^.k=midf^.k then tailins(r,midf,midl)
else tailins(r,highf,highl);
r := r^.next
end;
{*** Assemble resulting list ***}
if lowf <> nil then begin
lowl^.next := nil;
sort := sort(lowf);
Last^.next := midf
end
else sort := midf;
if highf <> nil then highl^.next := nil;
midl^.next := sort(highf);
if Last = nil then Last := midl
end
end;
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
05:02 30-12-2004 GMT+02 saat      
Merge Sort (Pascal)

Kod:
function sort( var r : list; n : integer ) : list;
var temp : list;

begin
if r = nil then sort := nil
else if n>1 then
sort := merge( sort( r, n div 2 ),
sort( r, (n+1) div 2 ))
else begin
temp := r;
r := r^.next;
temp^.next := nil;
sort := temp
end
end;
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
05:02 30-12-2004 GMT+02 saat      
Linear Probing Sort (Pascal)

Kod:
procedure sort( var r : ArrayToSort; lo, up : integer );

     var  i, j : integer;
          r1 : ArrayToSort;
     begin
     r1 := r;
     for j:=lo to UppBoundr do r[j].k := NoKey;
     for j:=lo to up do begin
          i := phi(r1[j].k,lo,m);
          while r[i].k <> NoKey do begin
               if r1[j].k < r[i].k then begin
                    r1[j-1] := r[i];
                    r[i] := r1[j];
                    r1[j] := r1[j-1]
                    end;
               i := i+1;
               if i > UppBoundr then Error
               end;
          r[i] := r1[j]
          end;
     i := lo-1;
     for j:=lo to UppBoundr do
          if r[j].k <> NoKey then begin
               i := i+1;
               r[i] := r[j]
               end;
     for j:=i+1 to UppBoundr do    r[j].k := NoKey;
     end;
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
05:03 30-12-2004 GMT+02 saat      
Shellsort (Pascal)

Kod:
procedure sort( var r : ArrayToSort; lo, up : integer );

     label     999;
     var  d, i, j : integer;
          tempr : ArrayEntry;
     begin
     d := up-lo+1;
     while d>1 do begin
          if d<5 then    d := 1
               else d := trunc( 0.45454*d );
          {*** Do linear insertion sort in steps size d ***}
          for i:=up-d downto lo do begin
               tempr := r[i];
               j := i+d;
               while j <= up do
                    if tempr.k > r[j].k then begin
                         r[j-d] := r[j];
                         j := j+d
                         end
                    else goto 999;  {*** break ***}
               999:
               r[j-d] := tempr
               end
          end
     end;
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
05:04 30-12-2004 GMT+02 saat      
Quicksort (with bounded stack usage) (Pascal)

Kod:
procedure sort( var r : ArrayToSort; lo, up : integer );

     var  i, j : integer;
          tempr : ArrayEntry;
     begin
     while up>lo do begin
          i := lo;
          j := up;
          tempr := r[lo];
          {*** Split file in two ***}
          while i<j do begin
               while r[j].k > tempr.k do
                    j := j-1;
               r[i] := r[j];
               while (i<j) and (r[i].k<=tempr.k) do
                    i := i+1;
               r[j] := r[i]
               end;
          r[i] := tempr;
          {*** Sort recursively ***}
          sort(r,lo,i-1);
          lo := i+1
          end
     end;
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Musa

Mustafa Musa Ülker
503 ileti
http://www.musaulker.com/
Şehir: Türkiye Burası
Meslek: Öğrenci++ ve Öğrenci#
Yaş: 24
05:05 30-12-2004 GMT+02 saat      
Linear insertion sort (Pascal)

Kod:
procedure sort( var r : ArrayToSort; lo, up : integer );

     var  i, j : integer;
          tempr : ArrayEntry;
          flag : boolean;
     begin
     for i:=up-1 downto lo do begin
          tempr := r[i];
          j := i+1;
          flag := true;
          while (j<=up) and flag do
               if tempr.k > r[j].k then begin
                    r[j-1] := r[j];
                    j := j+1
                    end
               else flag := false;
          r[j-1] := tempr
          end
     end;
:: Websitm :: http://www.musaulker.com/ ::
:: Bilgisayarımı görmek için a href=http://www.biltec.org/datas/users/2-bil.jpg>tıkla!/a> ::
koray yeni farkettim toplayacağız bir gün elbet :p

Çevirmiçi mi? Kasket

volkan bey
9 ileti
http://www.igdirmyo.com
Şehir: Türkiye istanbul
Meslek: öğrenci
Yaş:
03:00 31-12-2004 GMT+02 saat      
Arkadaşlar yardımcı olduğunuz için gerçekten çok sevindim
Bana heap sort un ve bucket sortun çalışma mantığını anlatabilir misiniz? Olayı iyice anlamam için. Eğer zahmet olmazsa akış diyagramını da verirseniz çoookk sevinirim. Çünkü akış diyagramı olunca çok çabuk anlıyom...
> 1 <