> 1 <
| Yazar | Mesaj |
volkan bey |
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
|
|
Bahadır Davut |
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.
|
|
Zeki Burak Ata |
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
|
|
Mustafa Musa Ülker |
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 |
|
Mustafa Musa Ülker |
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 |
|
Mustafa Musa Ülker |
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 |
|
Mustafa Musa Ülker |
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 |
|
Mustafa Musa Ülker |
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 |
|
Mustafa Musa Ülker |
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 |
|
Mustafa Musa Ülker |
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 |
|
Mustafa Musa Ülker |
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 |
|
volkan bey |
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 <



