1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Need help getting started

Discussion in 'C' started by Nichie, Mar 21, 2007.

  1. Nichie

    Nichie New Member

    Mar 13, 2007
    Likes Received:
    Trophy Points:
    Hello, I would like to seek some help on a programming assignment I am doing. I have been programming for roughly a year or so. When I made it to my Data Structure class I feel like I've hit a wall. The class moves very fast and it's really hard for me to catch up since I am still trying to understand a lot of the key concepts from my previous classes. I would really appreciate it if somebody could point me towards the right direction and give me tip and advices overall. Also, by no means am I asking for someone to do the assignment, but rather, give me some ideas on how I should tackle the problem.

    I really need help on getting started on this program since I have never done anything like this before. Should I be using a template? What does it mean to be able to switch out the three implementations by changing a line in the main program? What's the best way to do the implementation?

    Please forgive my total newbness, I must apologize in advance since I will be asking a lot of noob questions. But I must understand these and I really would appreciate your help.

  2. DaWei

    DaWei New Member

    Dec 6, 2006
    Likes Received:
    Trophy Points:
    Semi-retired EE
    Texan now in Central NY
    Home Page:
    A list is nothing but a degenerate form of a tree. That is, it's just a totally unbalanced tree with the root at one end. The nodes are the same: data and two pointers. In a doubly-linked list one pointer points to the previous entry and the other points to the next entry. In a tree, one points to the left child and one points to the right child. In a map, there are essentially two items of data in a key:value relationship. The pointers are just part of the organizational structure. Read about the STL map container to get some ideas.

    If you design an object to represent one node and another object to represent a collection of nodes, then you change the operation of your program merely by choosing which collection object to instantiate. The node object has methods to handle its own data and to provide information about that data to the outside; the collection object has methods to handle the manipulations of the nodes in the collection. It gets its information from the nodes, via the node methods.

    I suggest that you design a list, a map, and a tree. Then look them over. You'll be surprised at what pops out as common to the three, and that the things you need to do are highly similar. Design an interface based on that commonality, and that gets the job done in a sensible way.

    A better subject line, from the viewpoint of people searching for help, would have been "Need help with data structures, trees, lists".
    Last edited: Mar 21, 2007

Share This Page