Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > Algoritma Proje
Yazar
delibalta


avatar
istanbul
Kayıt: 03.02.2009
24.05.2010-21:51 #68918
=> Defalarca kez projede istenenleri okumama rağmen bazı konuları tam anlamadığımdan vede bir dosyadan bu sayıları okumanın anlamsız olacağına hükmettiğimden sayıları ilk başta verilen bir aralık içerisinde random oluşturdum;

=> Projede sayıları önce skiplist ile sıraladım(bağlı listeye atarak) zamanı ölçtüm sonrada yine ilk halini insertion sort ile sıraladım zamanı ölçtüm ve bunları karşılatırdım; (ikiside sırlarken insertion araya yerleştirme yaptığından bu şekilde yorumlamamın dayanak noktası oldu)

=> Sonra verilen aralık içerisindeki herhangi bir sayıyı skiplist kullandığım bağlı listede aradım olup olmadığına baktım zamanı ölçtüm sonrada binary search ile insertion sort ile sıraladığım dizide aradım yine olup olmadığına baktım zamanı ölçerek karşılaştırdım...

Yine bendeki sonuçlarda skiplist ile sıralamak, insertion sort a göre baya hızlı görünüyor, Genel kanaate göre skiplist i yavaşlatmayı planlıyorum :)

FİNAL İÇİN SEÇİLEN KONULAR
1-Hashing
2-Heap Sort
3-String Matching
4-Radix-Sort
5-Skiplist





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
24.05.2010-21:58 #68919
void insertion_sort(double *inserted_item, int n)
{
	int k;
	for (k = 1; k < n; ++k) 
	{
		int key = inserted_item[k];
		int i = k - 1;
		while ((i >= 0) && (key < inserted_item[i])) 
		{
			inserted_item[i + 1] = inserted_item[i];
			--i;
		}
		inserted_item[i + 1] = key;
	}

	
}


Bu kodda hem insert ediyor hem de sıralıyor. Buna ınsertıon sort denılıyor ama bu meret cok hızlı calısıyor..





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
fenerista


avatar
Istanbul
Kayıt: 27.11.2006
24.05.2010-23:51 #68922
canial yazdi
 
void insertion_sort(double *inserted_item, int n)
{
	int k;
	for (k = 1; k < n; ++k) 
	{
		int key = inserted_item[k];
		int i = k - 1;
		while ((i >= 0) && (key < inserted_item[i])) 
		{
			inserted_item[i + 1] = inserted_item[i];
			--i;
		}
		inserted_item[i + 1] = key;
	}

	
}


Bu kodda hem insert ediyor hem de sıralıyor. Buna ınsertıon sort denılıyor ama bu meret cok hızlı calısıyor..


insertion sort çoğu elemanı sıralı diziler için hızlı çalışıyor sanırım, bizim dizimizde sadece bir elemanın sırası yanlış olacak, ondan olabilir.





Oktay,
Thk you!





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
25.05.2010-00:04 #68923
Yok ya ole degıl direk karman corman atıyor ıste bunun ıcıne.





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
begench


avatar
Mary
Kayıt: 03.12.2009
25.05.2010-00:14 #68924
"her bir sayi query olarak kullanilacak" demis hoca - yani program otomatik dizideki butun elemanlari arayip tek tek bulmayami calisacak;yoksa biz manuel - yani program calisirken input olarakmi vercez ariycak degerlerini??





Yazar
fenerista


avatar
Istanbul
Kayıt: 27.11.2006
25.05.2010-00:33 #68925
Her sayı için olması lazım.





Oktay,
Thk you!





Yazar
fenerista


avatar
Istanbul
Kayıt: 27.11.2006
25.05.2010-00:37 #68926
canial yazdi
 
void insertion_sort(double *inserted_item, int n)
{
	int k;
	for (k = 1; k < n; ++k) 
	{
		int key = inserted_item[k];
		int i = k - 1;
		while ((i >= 0) && (key < inserted_item[i])) 
		{
			inserted_item[i + 1] = inserted_item[i];
			--i;
		}
		inserted_item[i + 1] = key;
	}

	
}


Bu kodda hem insert ediyor hem de sıralıyor. Buna ınsertıon sort denılıyor ama bu meret cok hızlı calısıyor..


Bu inserted_item, yeni eleman eklenmiş dizinin başlangıcı değilmi, bildiğimiz insertion_sort o zaman. Hacı bunun 50000 elemanlı diziden sonra falan uzun süremesi lazım. Hoca 100000 den bahsetmiş...

Olcay KURŞUN

 

Oktay
n=100000 gibi yuksek bir sayi icin sayilari teker teker insert ederken insertion time nasil degisiyor tek tek tutup sonra bunu plot edersin, cok kisa ise gerekirse delay koyarsin...
digerlerini dogru anlamissin


Bu arada her elemanın insertion zamanını tutacağız sanırım bu oldukça kısa bir süre olacak, pek bir şey anlamadım bu projeden. Tek eleman için insertion zamanı yok ki ya :D delay koyacaz mecburen.
Bu arada 100000 elemanın insertion zamanlarını bir dizide tuttuk diyelim dosyaya yazıp, oradan değerleri alıp matlab demi plot edecez ?





Oktay,
Thk you!





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
25.05.2010-00:57 #68927
Benım orada inserted_ıtem dedıgım mesela 10000 elemanlı karmasık dızının ılk elemanı. Yanı ben diziyi olusturuyorum ilk once. Sonra diziyi insertion sorta veriyorum o sıralıyor ıste. Bu arada Olcay Hocaya mı sordun ki altında ismi yazıyor smile





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
fenerista


avatar
Istanbul
Kayıt: 27.11.2006
25.05.2010-09:53 #68935
Hacı ama her eleman eklendiğinde dizi sıralı olmalı bence.

..
Olcay hocaya yarım sayfa mail yazdım 2 satır döndü bana ya :D

Edit:Diğerlerini doğru anlamışsın yazmış şimdi gördüm :D

Insertion Sort ile insert aşağıdaki gibi olcak ozaman :
 
Birde hocam şimdi boş bir array yapacağız aynı sayıları diğer yöntemle insert edeceğiz de insertion sort ile insert nasıl oluyor tam anlayamadım. Array'e her sayı ekleyişimizde sayının array deki yerini bulup bu sayıdan büyükleri tamemen sağa mı kaydıracağız ? yani algoritmanın insert zamanı, bu durumda o(n) de çalışır bunu mu istiyorsunuz ?


 
Birde sizin dosyanızın bir örneğini gösterir misiniz şöyle bir şeymi

Bir sayı bir yazı tura sayısı, sonra yine sayı...yan yana ?
3 1 4 2


 
ben şimdi skiplist'in ekleme kısmını yaptım. Şimdi ben tüm sayıların insertion zamanlarını bir diziye kaydedip daha sonra buradan plot mu edeceğim/çizeceğim ? yoksa insertion zamanlarının toplamını tutsak yeterli mi ortalamayı da buradan verebiliriz.


plot etmeyi nerede nasıl yapacaz o da ilginç : dosyay kaydedip matlabde plot edebilir miyiz ?





Oktay,
Thk you!





Yazar
compeng


avatar
istanbul
Kayıt: 22.05.2006
25.05.2010-12:16 #68941
Arkadaşlar projeyi maille kabul ediyor mu hoca yoksa elden mi teslim eedeceğiz ?





Yazar
mrflz


avatar
Luleburgaz
admin
Kayıt: 15.06.2006
25.05.2010-14:01 #68944
bu arada hocaya mail attım ve cuma gunu musait oldugnu soyledi hemen bugun yarın uygun olan kişiler yazarsa ve soyle 10 kişi filan olrusak gidip sorularımızı soralım en azından gelemeycek kişilerde sorularını buradan yazsınlar o sorualrı da sorarız hocaya. hem sınav hakkında son dedikoduları da yaparız.. bu arada ben de sınav konuları var ama biraz karısık yazmısım eger tam elinde duzgun hocanın derste kesin olur dediğin konular varsa buraya yazabilir mi? Onları da konusalım cuma gunu <<

ilgilenen arkadaslar geleceklerse bugun buradan bildirirlerse ve uygun bir sayı olursak hocayla iletişme gecip haber vericem cuma ders yapalım diye <





I see the ghosts of navigators but they are lost







Yazar
fenerista


avatar
Istanbul
Kayıt: 27.11.2006
25.05.2010-14:26 #68948
2 den sonra olur cuma.





Oktay,
Thk you!





Yazar
compeng


avatar
istanbul
Kayıt: 22.05.2006
25.05.2010-14:31 #68949
compeng yazdi
 
Arkadaşlar projeyi maille kabul ediyor mu hoca yoksa elden mi teslim eedeceğiz ?


bu konuyla ilgili bilgisi olan var mı ?





Yazar
compeng


avatar
istanbul
Kayıt: 22.05.2006
25.05.2010-14:51 #68950
compeng yazdi
 
compeng yazdi
 
Arkadaşlar projeyi maille kabul ediyor mu hoca yoksa elden mi teslim eedeceğiz ?


bu konuyla ilgili bilgisi olan var mı ?


teşekkürler hocaya ulaştım





Yazar
conqueror


avatar

Kayıt: 04.01.2007
25.05.2010-15:04 #68951
compeng yazdi
 
compeng yazdi
 
compeng yazdi
 
Arkadaşlar projeyi maille kabul ediyor mu hoca yoksa elden mi teslim eedeceğiz ?


bu konuyla ilgili bilgisi olan var mı ?


teşekkürler hocaya ulaştım


????





fxts
1 2 3
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb