Re: [Linux-programlama] Re: struct sorting

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Mon 20 Dec 2004 - 09:38:21 EET


Selamlar..

Degerler eklenirken sirali tutsaniz daha iyi olacaktir:

currstruct = rootstruct;
while (currstruct) {
. if (currstruct.value > newstruct.value) {
. newstruct->next = currstruct->next;
. currstruct->next = newstruct;
. break;
. }
. currstruct = currstruct->next;
}

gibi bir dongu daha iyi olacaktir. Ama bu da gene verimsizdir. Eger
bellek vs. ihtiyacini goze alabiliyorsaniz, bu struct'lari binary tree
formuna cevirin. O zaman her yeni elemani eklemek icin bu sekilde tum
elemanlari taramaktan kurtulursunuz.

Bu tur durumlarda, linked listi indexleyen bir array kullanmak daha
verimli olabilir. Array boyu, list boyu, list'in nasil dolduruldugu,
istenen latency vs. bu noktada onemli olur.

Saygi ve sevgiler..

> merhaba,
>
> dediginiz dogru ama unuttugunuz bir nokta var, ilk once liste olusturuluyor,
> sira ile count degerleri degisiyor. yani elinde sonunda benim en sonda
> siralama yapmam gerekiyor, cunku count degerlerinin kesin degerleri
> en sonda belli oluyor.
>
> ilginizden dolayi tesekkurler,
> iyi calismalar.
>
> On Sat, Dec 18, 2004 at 12:16:14PM +0200, Bora Güngören wrote:
> > Bağlı liste yapısı üzerinde sıralama yapmak çok performanslı bir iş
> > değildir. Önerim listeyi sürekli olarak sıralanmış tutman. O(n^2) bir
> > sıralama yapacağına, her eklemende O(n) bir arama yaparak doğru yere
> > eklemen daha akılcı olabilir.
>
> ______________________________________________________________________
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.