|
1 registered members (TipmyPip),
5,004
guests, and 3
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Kleine dll mit nützlichen Funktionen!
[Re: Nighthawk]
#381699
08/30/11 23:39
08/30/11 23:39
|
Joined: Apr 2007
Posts: 3,751 Canada
WretchedSid
Expert
|
Expert
Joined: Apr 2007
Posts: 3,751
Canada
|
Ah, okay. Für die Zukunft; Das ist eine denkbar ungeeignete Datenstruktur für das was du erreichen willst, mit einer hash table schaffst du deutlich höhere Geschwindigkeiten. Wir sprechen hier von nahezu O(1), wohingegen deine Linked List bei O(log N) liegt. Im Gstudio Wiki steht ein bisschen mehr zu der Thematik: http://www.opserver.de/wiki/index.php/Data_StructuresEdit: Hier ist eine hashing funktion für C-Strings, sie hat den Vorteil das sie kaum Kollisionen hat solange du unter 16 Zeichen bleibst, bei über 16 Zeichen steigert sich aber die Kollisionsgefahr merklich:
unsigned int HashString(char *string)
{
size_t length = strlen(string);
size_t iterator;
unsigned int res = length;
if(length <= 16)
{
for(iterator=0; iterator<length; iterator++)
res = res * 257 + string[iterator];
}
else
{
// Hash the first and last 8 bytes
for(iterator = 0; iterator<8; iterator++)
res = res * 257 + string[iterator];
for(iterator = length - 8; iterator<length; iterator++)
res = res * 257 + string[iterator];
}
return (res << (length & 31));
}
Last edited by JustSid; 08/30/11 23:48.
Shitlord by trade and passion. Graphics programmer at Laminar Research. I write blog posts at feresignum.com
|
|
|
Re: Kleine dll mit nützlichen Funktionen!
[Re: WretchedSid]
#381705
08/31/11 00:20
08/31/11 00:20
|
Joined: Jun 2011
Posts: 11
Nighthawk
OP
Newbie
|
OP
Newbie
Joined: Jun 2011
Posts: 11
|
Ok,wegen der Geschwindigkeit mag ich Dir ja recht geben. Aber ich denke es kommt auch darauf an, wo und wie man so etwas einsetzt. Meine Liste ist eben nur gedacht,für schnell mal an den ein oder anderen Pointer zu gelangen.
Gruß Nighthawk
A8 pro
|
|
|
Re: Kleine dll mit nützlichen Funktionen!
[Re: Nighthawk]
#381738
08/31/11 11:57
08/31/11 11:57
|
Joined: Apr 2007
Posts: 3,751 Canada
WretchedSid
Expert
|
Expert
Joined: Apr 2007
Posts: 3,751
Canada
|
Ok,wegen der Geschwindigkeit mag ich Dir ja recht geben. Meine Liste ist eben nur gedacht,für schnell mal an den ein oder anderen Pointer zu gelangen. Widersprichst du dir da nicht? =/
Shitlord by trade and passion. Graphics programmer at Laminar Research. I write blog posts at feresignum.com
|
|
|
|