Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Hierarchical Data Structures

by kvale (Monsignor)
on Mar 11, 2004 at 05:57 UTC ( #335727=note: print w/replies, xml ) Need Help??


in reply to Hierarchical Data Structures

The relationships between players is clearly a tree structure, but you didn't say why Tree:MultiNode isn't good for you...

So I will suggest a hash based approach. Each player has a boss (except for the top player), three subordinates, and points. A suitable hierarchical data structure is like the following

my %player; $player{1}{boss} = 0; # top player has no boss $player{2}{boss} = 1; # etc. $player{1}{slave}[0] = 2; $player{1}{slave}[1] = 3; $player{1}{slave}[2] = 4; $player{1}{points} = 42;
Obviously, you will want to use loops to populate %players, the assignments above were just to be clear on the structure.

Given this structure, you can determine points by iterating through all the players and collecting points from his slaves. To exchange positions, you smply swap bosses and slaves for the two positions.

-Mark

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://335727]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (9)
As of 2021-03-03 17:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favorite kind of desktop background is:











    Results (83 votes). Check out past polls.

    Notices?