I recommend using a hash array for lookup and modification of players knowledge of eachother. Look at the dynamic board 2.2 (?) code for examples of how a board stores the uid and post number (and guarentees that even if post numbers move, this will be valid) for each person that reads a post. Once it's loaded into memory, the lookup time is probably averaging around 4-5 (cause my algorithm sucked, and it clusters). Technically, it could be closer to 1. Trees work too, but are probably harder for a newbie to conceptually work out, and much more difficult to implement without resorting to external libraries, or a step-by-step howto. Of course, if you've got a copy of CLR, you're all set. The mean case time for a linked list, tree, and hash search are n/2, n lg n (i believe), and n/2. Yes, a hash can be as bad as a linked list. big O cases are n/2, n lg n, 1 - I don't have clr here at work, so I'm guessing, but i know best case of hash is '1'. :) That means it's good. > char *name; > there instead, strcmp can easily handle this and it would IMHO make the > informative code more maintenance friendly. Maybe more friendly, but certainly noticably slower. string operations are much slower than their related integer operations. Stick to fast int lookups. PjD +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT