From: Mustafa Akgul (akgul@Bilkent.EDU.TR)
Date: Mon 20 Dec 2004 - 09:32:41 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..
>
klasik cozumler,
binary tree, balanced binary tree, heap ailesi , özellikle
fibonacci heap'lerdir. "self organizing" yapilarda söz
konusu.
Kolay gelsin
Mustafa Akgul
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama