Click here to Skip to main content
15,888,351 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionRe: associate string in dll Pin
CPallini18-Sep-08 23:26
mveCPallini18-Sep-08 23:26 
QuestionBinary Tree from preorder traversal Pin
aksgh18-Sep-08 18:53
aksgh18-Sep-08 18:53 
AnswerRe: Binary Tree from preorder traversal Pin
Malli_S18-Sep-08 20:14
Malli_S18-Sep-08 20:14 
GeneralRe: Binary Tree from preorder traversal Pin
aksgh18-Sep-08 22:35
aksgh18-Sep-08 22:35 
AnswerRe: Binary Tree from preorder traversal Pin
oobimoo18-Sep-08 23:03
oobimoo18-Sep-08 23:03 
GeneralRe: Binary Tree from preorder traversal Pin
Malli_S18-Sep-08 23:13
Malli_S18-Sep-08 23:13 
GeneralRe: Binary Tree from preorder traversal Pin
aksgh18-Sep-08 23:46
aksgh18-Sep-08 23:46 
GeneralRe: Binary Tree from preorder traversal [modified] Pin
oobimoo19-Sep-08 1:59
oobimoo19-Sep-08 1:59 
aksgh wrote:
Its a huffman tree.


Yes didnt see that, you are right. So, for a huffman tree you could the following
typedef struct _node_info {
  int is_leaf;
  char value;
}node_info;

typedef struct _node {
  node_info inf;
  node* l;
  node* r;
} node;

// returns the root of the tree, from an array of node_info's structs, that
// represents the preorder traversal of the huffman tree. we assume a global stack s
// initially empty
node* built_tree(node_info* preorder_array, int preorder_array_size)
{
  node *root, *n;
  int i;
  root = malloc(sizeof(node));
  stack_push(s, root);
  for (i = 0; i < preorder_array_size; i++) {
    assert(!stack_empty(s));
    n = stack_pop(s);
    n->inf = preorder_array[i];
    if (!n->inf.is_leaf) {
      n->r = malloc(sizeof(node));
      stack_push(s, n->r);
      n->l = malloc(sizeof(node));
      stack_push(s, n->l);
    }
  }
  assert(stack_empty(s));
  return root;
}

* i dont set r,l members to zero when i create a node, in order to save some space, but it is something you must do

modified on Friday, September 19, 2008 8:09 AM

QuestionTransparent control over Mobile screen Pin
akash00718-Sep-08 18:40
akash00718-Sep-08 18:40 
QuestionVirual memory Pin
jinijinu18-Sep-08 17:42
jinijinu18-Sep-08 17:42 
AnswerRe: Virual memory Pin
Rane18-Sep-08 19:05
Rane18-Sep-08 19:05 
AnswerRe: Virual memory Pin
Hamid_RT18-Sep-08 20:01
Hamid_RT18-Sep-08 20:01 
AnswerRe: Virual memory Pin
Naveen18-Sep-08 20:52
Naveen18-Sep-08 20:52 
QuestionVirtual memory Pin
jinijinu18-Sep-08 17:39
jinijinu18-Sep-08 17:39 
AnswerRe: Virtual memory Pin
Rane18-Sep-08 19:07
Rane18-Sep-08 19:07 
QuestionEdit mode problem Pin
followait18-Sep-08 16:46
followait18-Sep-08 16:46 
AnswerRe: Edit mode problem Pin
Malli_S18-Sep-08 20:19
Malli_S18-Sep-08 20:19 
GeneralRe: Edit mode problem Pin
followait18-Sep-08 23:31
followait18-Sep-08 23:31 
GeneralRe: Edit mode problem Pin
Malli_S19-Sep-08 1:24
Malli_S19-Sep-08 1:24 
GeneralRe: Edit mode problem Pin
followait19-Sep-08 1:30
followait19-Sep-08 1:30 
GeneralRe: Edit mode problem Pin
Malli_S19-Sep-08 1:41
Malli_S19-Sep-08 1:41 
GeneralRe: Edit mode problem Pin
followait19-Sep-08 2:12
followait19-Sep-08 2:12 
AnswerRe: Edit mode problem Pin
Mark Salsbery19-Sep-08 6:46
Mark Salsbery19-Sep-08 6:46 
GeneralRe: Edit mode problem [modified] Pin
followait19-Sep-08 14:14
followait19-Sep-08 14:14 
QuestionPrint after add view Pin
Max++18-Sep-08 15:46
Max++18-Sep-08 15:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.