08-10-2005
Creating breadth traversal binary tree
I almost have the entire script written. however the problem is how would i assign the global variable to terminate the process from the bottom up to ensure the child terminates so the parent can.
ex. I am proccess 1
I am proccess 2
etc
Here is the code
$ cat tree.c
main(int argc, Char* argv [])
{
int pid,i;
int j = argv[1];
funcFork(1,1,j);
}
Function funcFork(int Label, int presentLevel, int maxLevel){
Printf(“I am in process %d”,Label);
If (presentLevel == maxLevel)
Return;
pid = fork();
if (pid == 0){
newLabel = Label * 2;
presentLevel ++;
Printf(“I am in process %d”,newLabel);
funcFork(newLabel,presentLevel, maxLevel);
}
Else {
newLabel = Label * 2 + 1;
presentLevel ++;
Printf(“I am in process %d”,newLabel);
funcFork(newLabel,presentLevel, maxLevel);
}
}
Thanks for any help. I don't know if this is allowed but you can also email me at removed.
Last edited by Perderabo; 08-10-2005 at 08:30 PM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need to create a binary tree like structure of directories using shell script... does anyone know of any algorithm for this ?
i tried doing a recursive algorithm
function CreateDir
{
level=$1
dirname=$2
mkdir $dirname/sub1/
mkdir $dirname/sub2/
let level=level-1
... (2 Replies)
Discussion started by: macvijay1985
2 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I am working on a program and kind of a stuck,nt getting it done.
"The program should take one command line arguments: number of hierarchy level. The
hierarchy of your program should of that level and each node have two child processes."
Can anyone give me the C code using fork() of this... (1 Reply)
Discussion started by: learneros
1 Replies
3. Shell Programming and Scripting
Hey,
I'm working on a file traversal and extraction function and am having problems.
So, my script is finding all files in a directory. Each file has the same format. I need to extract a field from the 4th line of each file..... hence why I am using the substring on NR == 4. So, I am... (11 Replies)
Discussion started by: beefeater267
11 Replies
4. Shell Programming and Scripting
Hi all,
I'd like to create a directory tree, and define from stdin how many levels deep and how many directories in each level should be created.
What I wrote does not work properly:#!/bin/bash
#set -x
read -p " What root directory? " rootDir
&& { /bin/rm -R $rootDir; mkdir $rootDir; } ||... (2 Replies)
Discussion started by: NBaH
2 Replies
5. Programming
I have just been researching this topic and I was wondering what type of application might a binary tree be used for. For instance what type of application would be a good showcase for a binary tree that I could write as an example? (5 Replies)
Discussion started by: sepoto
5 Replies
6. Shell Programming and Scripting
Hi Experts,
I have table in mysql like below:
'user` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id`
varchar(100) NOT NULL,
`member_name` varchar(100) NOT NULL,
`city` varchar(100) NOT NULL,
`member_id` varchar(100) NOT
NULL,
`password` varchar(100) NOT... (1 Reply)
Discussion started by: naw_deepak
1 Replies
7. Programming
I am writing code for a binary search tree search and when I compile it i am getting strange errors such as, " /tmp/ccJ4X8Xu.o: In function `btree::btree()':
project1.cpp:(.text+0x0): multiple definition of `btree::btree()' "
What does that mean exactly?
tree.h
#ifndef TREE_H
#define... (1 Reply)
Discussion started by: meredith1990
1 Replies
8. Shell Programming and Scripting
Hi,
I have to get some value of the from a flat file and my file format is like this.
ABC
DEF
HIJ=1
XYZ
xyz
HIJ=2
So i need to make sure i get all the value of HIJ under XYZ and not ABC. (4 Replies)
Discussion started by: nidhink
4 Replies
9. Programming
I have some questions about certain placement of child nodes since I'm just learning BSTs and it's quite confusing even after reading some sources and doing some online insertion applets. Let's say I want to add nodes 5,7,3,4 to an empty basic BST.
... (1 Reply)
Discussion started by: Jill Ceke
1 Replies
10. Web Development
Database Structure
Root Table
ID Root_ Node Level
1 A 0
2 B 1
3 C 1
Child Table
ID Left_Node Right_Node Root_Node Root_ID
1 B C A 1
... (1 Reply)
Discussion started by: Deepak Tiwari
1 Replies
LEARN ABOUT DEBIAN
dictcreate
dictCreate(3) util/dict.h dictCreate(3)
NAME
dictCreate - create new dictionary.
SYNOPSIS
#include <util/dict.h>
NEOERR *dictCreate(dictCtx *dict, BOOL threaded, UINT32 root, UINT32 maxLevel,
UINT32 flushLimit, BOOL useCase,
dictFreeValueFunc freeValue, void *freeRock);
ARGUMENTS
threaded - true if list should be thread-safe.
root - performance parameter (see above).
maxLevel - performance parameter (see above).
flushLimit - max deleted items to keep cached before
forcing a flush.
useCase - true to be case sensitive in identifiers
freeValue - callback when freeing a value
freeRock - context for freeValue callback
DESCRIPTION
Returns a dictionary. If <threaded> is true, list is multi-thread safe. <root>, <maxLevel>, and <flushLimit> act as for skipNewList()
(see skiplist.h)
MT-Level: Safe.
RETURN VALUE
None.
SEE ALSO
dictDestroy(3), dictCleanup(3), dictReleaseLock(3), dictRemove(3), dictNext(3), dictCreate(3), dictSetValue(3), dictModifyValue(3), dict-
Search
ClearSilver 12 July 2007 dictCreate(3)