IBM developerWorks: GNOMEnclature: Making application programming easy with GNOME libraries, Part 2Dec 02, 1999, 23:48 (0 Talkback[s])
(Other stories by George Lebl)
"In my last article you found out how to program a very useless "hello world" application. Now it's time to see how to develop a real-world application. We'll start by developing a somewhat real-world application (kept simple for the sake of documentation) and extend it in subsequent articles. The application we'll be writing is a genealogy application for entering family trees. As the articles progress, we'll intermingle discussions of GLib, GTK+, and GNOME as needed."
"First let's look at the data structure we'll be using. A real-world genealogy application deals with a complex structure, but we'll deal only with a simple tree. We won't allow any siblings in the tree, so each node will have only two other nodes as parents. The usual concept of what is child and what is parent in binary trees is reversed in this particular application, which can be confusing, so let's use this convention: Unless I specify otherwise, I'm referring to the real world rather than to the abstraction. In other words, a "parent" is the parent of the person specified by the node, not the parent node of a binary tree."