Selection Sort Tekniğini Keşfeden Kim?
Selection Sort Tekniğini Keşfeden Kim?
Herkese selam.. Sizlerden yardım talep ediyorum. Bir yazarımız aşağıda verdiğim örneği kendi C# konulu kitabından çaldığımı söyleyip beni mahkemeye verdi. Şu günlerde savunmamı hazırlayacağım. Sizden aşağıda verdiğim sıralama tekniğinin kullanıldığı kaynakları bulma konusunda sizden yardım talep ediyorum.
private void Sirala_Click(object sender, EventArgs e)
{
int[] dizi;
int i, j;
int gecici, eleman;
eleman = listBox1.Items.Count;
dizi = new int[eleman];
for (i = 0; i <= eleman - 1; i++)
dizi = Convert.ToInt32(listBox1.Items.ToString());
for (i = 0; i <= eleman - 1; i++)
{
for (j = 0; j <= eleman - 1; j++)
{
if (dizi[j] > dizi)
{
gecici = dizi;
dizi = dizi[j];
dizi[j] = gecici;
}
}
}
for (i = 0; i<=eleman - 1; i++)
listBox2.Items.Add(dizi.ToString());
}
}
Kişisel kanaatime göre en az 20 yıldır kullanılan ve çok bilinen bu sıralama tekniğinin adını burada anmadığım saygıdeğer yazarımızın buluşu olmadığını kanıtlama çabama katkı sağlayacak herkese şimdiden teşekkürler.
private void Sirala_Click(object sender, EventArgs e)
{
int[] dizi;
int i, j;
int gecici, eleman;
eleman = listBox1.Items.Count;
dizi = new int[eleman];
for (i = 0; i <= eleman - 1; i++)
dizi = Convert.ToInt32(listBox1.Items.ToString());
for (i = 0; i <= eleman - 1; i++)
{
for (j = 0; j <= eleman - 1; j++)
{
if (dizi[j] > dizi)
{
gecici = dizi;
dizi = dizi[j];
dizi[j] = gecici;
}
}
}
for (i = 0; i<=eleman - 1; i++)
listBox2.Items.Add(dizi.ToString());
}
}
Kişisel kanaatime göre en az 20 yıldır kullanılan ve çok bilinen bu sıralama tekniğinin adını burada anmadığım saygıdeğer yazarımızın buluşu olmadığını kanıtlama çabama katkı sağlayacak herkese şimdiden teşekkürler.
Memik YANIK - http://www.memikyanik.com
Kod: Tümünü seç
private void Sirala_Click(object sender, EventArgs e)
{
int[] dizi;
int i, j;
int gecici, eleman;
eleman = listBox1.Items.Count;
dizi = new int[eleman];
for (i = 0; i <= eleman - 1; i++)
dizi[i] = Convert.ToInt32(listBox1.Items[i].ToString());
for (i = 0; i <= eleman - 1; i++)
{
for (j = 0; j <= eleman - 1; j++)
{
if (dizi[j] > dizi[i])
{
gecici = dizi[i];
dizi[i] = dizi[j];
dizi[j] = gecici;
}
}
}
for (i = 0; i <= eleman - 1; i++)
listBox2.Items.Add(dizi[i].ToString());
}
ayrıca bu algoritma her programcının hiç bir yerde görmeden uydurabileceği bi algoritmadır.. Şahsen ben hiç bir yerde görmeden kullandıktan sonra adının selection sort olduğunu öğrenmiştim

http://www.c-sharpcorner.com/3/SortSeachNRS.asp
QA 76.6.S435 1983 Algorithms - Robert Sedgewick
bu kitapta bulunuyor
sayfa 143-..
bu kitapta bulunuyor
sayfa 143-..
An algorithm for selection must find the kth smallest item out of a file of
N items. Since an algorithm cannot guarantee that a particular item is the
kth smallest without having examined and identified the k- 1 items which are
smaller and the N - k elements which are larger, most selection algorithms
can return all of the k smallest elements of a file without a great deal of extra
calculation.
procedure seJect(J, r, k: integer);
var I;
begil 1
if r> J then
begin
i::=partition(J, r);
if i>J+k-1 then seJect(J, i-l, k);
if i<J+k-I then seJect(i+l, r, k-i);
end
end;
lazio arkadaş; zaten sorun da bundan kaynaklanıyor. Bizler imkanlar ölçüsünde kitapları, dergileri, siteleri vs inceliyoruz; bazen farkında olmadan etkileniyoruz.
Yapılan itirazın dayanak noktası "dizi", "i" ve "j" gibi 3 değişken adının kullanılması ve sıralamanın sonucunu okura gösterirken benim de ListBox'ı kullanmamdır. Elim kıralaydı da kodun işlevini gösterirken veya sıralanmış dizinin içeriğini gösterirken ListBox'ları kullanmasaydım!
Yapılan itirazın dayanak noktası "dizi", "i" ve "j" gibi 3 değişken adının kullanılması ve sıralamanın sonucunu okura gösterirken benim de ListBox'ı kullanmamdır. Elim kıralaydı da kodun işlevini gösterirken veya sıralanmış dizinin içeriğini gösterirken ListBox'ları kullanmasaydım!
Memik YANIK - http://www.memikyanik.com
Saygısızlık olarak algılanacağını düşünmesem mahkemeye sunulan suçlamaları ve bilirkişinin raporunu delphitürkiye'nin üyeleri ile paylaşmak isterdim. İşte size bilirkişi raporundan 2 cümle... Sanırım bilirkişi raporunu buraya yazmak suç değildir.
"... isimli yazarların kitaplarında kitaplarında kullandıkları değişken isimleri Memik Yanık isimli yazarın kitabındaki değişken isimleri benzerlik göstermektedir. aşağıda tespitte bulunduğum iki kitap arasındaki benzerlik gösteren değişken isimlerini belirttim.
deger - deger
gorunur gorunme
okuyaz - okuma_yazma
dosyaadi-dosya
"
ikinci sütundakiler benim kitapta kullandığım değişken adıdır. Keşke dosya yerine File kullansaydım, görünme ile ilgili özelliği temsil edecek değişken tanımlarken değişkene view vs deseydim.
"... isimli yazarların kitaplarında kitaplarında kullandıkları değişken isimleri Memik Yanık isimli yazarın kitabındaki değişken isimleri benzerlik göstermektedir. aşağıda tespitte bulunduğum iki kitap arasındaki benzerlik gösteren değişken isimlerini belirttim.
deger - deger
gorunur gorunme
okuyaz - okuma_yazma
dosyaadi-dosya
"
ikinci sütundakiler benim kitapta kullandığım değişken adıdır. Keşke dosya yerine File kullansaydım, görünme ile ilgili özelliği temsil edecek değişken tanımlarken değişkene view vs deseydim.
Memik YANIK - http://www.memikyanik.com
Algoritmayı kimin yazdığı ya da kimlerin katkısıyla bu hale geldiğini bilemiyorum. Fakat denildiği gibi herkesin kullandığı bir sıralama procedure ü. Değişkenlere de takılmanıza gerek yok. Siz de pekâlâ aynı değişkenleri kullanmış olabilirsiniz. Sadece telifi başkasına ait bir kodu izinsiz kullanamazsınız. Onun da kimden arakladığını sorabilirsiniz mesela. Başka kaynak ve kitaplarda geçiyor olması genel bir kod olduğunu gösterir 

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Öncelikle geçmiş olsun.
hukuki açıdan tanımlama ve değişken isimlerinin aynı olması bir yaptırım nedeni olmasa gerek.
bu işlemdeki değişkenlerin ing halini bulabilrseniz zaten sıralamadan ziyade değişken isimlerinyle ilgili sorunu kendi açınızdan özetleme imkanı edinmiş olacaksınız.
Kolay gelsin.
hukuki açıdan tanımlama ve değişken isimlerinin aynı olması bir yaptırım nedeni olmasa gerek.
Kod: Tümünü seç
private void Sirala_Click(object sender, EventArgs e)
{
int[] dizi;
int i, j;
int gecici, eleman;
eleman = listBox1.Items.Count;
dizi = new int[eleman];
for (i = 0; i <= eleman - 1; i++)
dizi = Convert.ToInt32(listBox1.Items.ToString());
for (i = 0; i <= eleman - 1; i++)
{
for (j = 0; j <= eleman - 1; j++)
{
if (dizi[j] > dizi)
{
gecici = dizi;
dizi = dizi[j];
dizi[j] = gecici;
}
}
}
for (i = 0; i<=eleman - 1; i++)
listBox2.Items.Add(dizi.ToString());
}
}
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________