C++ :: Binary Tree - Find Height With Recursive Function

Feb 21, 2015

For an assignment I have to finish prewritten code which consists of multiple source files and a header file.

Code:
#include "tree.h"
#include <fstream>
#include <iostream>
#include <string>

using namespace std;

[Code] .....

I understand that I have to find the height by using _left->height() and _right->height() as long as it is not a null-pointer , each time I do this the values of _left and _right change. That way you can check if it is possible to go further down in the tree. I also have to use a counter to keep track of the number of layers at each side of the root. I don't understand how to implement it.

View 3 Replies


ADVERTISEMENT

C++ :: Height Or Depth Of Binary Tree

Feb 23, 2014

I'm in interested to know what will be the height of binary tree with say 5 nodes (consider it balanced) is it 2 or 3?

9
/
5 13
/
3 7

and for following tree also:

2
/
7 5
/
2 6 9
/ /
5 11 4

is it 3 or 4?

i'm asking because, not able to find correct/one answer.

the algorithm i find is:

depth(struct tree*t) {
if ( t == NULL) return 0;
return max( depth(tree->left), depth(tree->right) ) + 1;
}

According to it, ans for second will be 4

But as per image on wikipedia [URL] .... the ans is 3

View 6 Replies View Related

C/C++ :: Find Maximum Element From A Tree (not A Binary Tree)

Oct 31, 2014

I want to find maximum element from a tree (not a binary tree ) ???? ...using c language...

View 1 Replies View Related

C :: Find Sum Of Depths In Binary Tree

Jun 18, 2013

I need to write a program to find the sum of depths of a binary tree, where a depth is by definition the shortest distance between a node and the root. I am required to code this using recursion.

I was thinking of first coding a helper recursion to find the depth for each node. What would be the best way to do that? If I could move from the node to the root, I believe programming this helper recursion would not be very difficult. Is there a way to progress from the node to the root?

View 11 Replies View Related

C++ :: Binary Tree - Insert Or Find

Jun 10, 2014

So I am trying to create a simple binary tree that will ask the user for a command so that is either 'insert or find' and with insert they can put in a number to this tree and with find they can ask if 53 is in this tree and the program will output yes or no..

View 9 Replies View Related

C++ :: Find Minimum Data Of Binary Tree?

Mar 24, 2013

I want a recursive function that returns a pointer pointing to the node which has the minimum data in the binary tree.

That's what I wrote:

struct CP {
int data; // data of the node
CP * left; // pointer to the left subtree
CP * right; // pointer to the right subtree

[Code]....

It can only find one side of the binary tree.

View 8 Replies View Related

C/C++ :: Find Non-key Item In Binary Search Tree

Apr 16, 2014

I am creating a menu-driven program which creates a small database using a binary search tree. I am having issues with the last method I need for the program. The way it is coded now only gives me blank data when I print it. Here is the exact wording for the requirements for this method:

"Output a complete report to the text file named BillionaireReports.txt in increasing order by billionaire rank, that contains all data fro each record stored in the BST. Note: this is not a simple traversal. You may assume that the rank is never less than 1 and never greater that 500. Do NOT copy the data into another BST, into an array, into a linked list, or into any other type of data structure. Retrieve the data directly from the binary search tree which is stored in order by name."

Here is the method in question:

void BillionaireDatabase::displayRankReport() {
int i = 1;
for(i; i <=500; i++) {
billionaireDatabaseBST.contains(Billionaire& anItem);

[Code] ....

I know how to sort the database by the key, but I'm not sure how to sort by something that is not the key.

Here are the functions I have available via the BST (these were written by the professor)

//------------------------------------------------------------
// Constructor and Destructor Section.
//------------------------------------------------------------
BinarySearchTree();
BinarySearchTree(const ItemType& rootItem);
BinarySearchTree(const BinarySearchTree<ItemType>& tree);
virtual ~BinarySearchTree();

[Code] ....

View 3 Replies View Related

C++ :: Building Binary Tree - How To Find Parent Of A Given Node

Jun 26, 2012

I'm trying this to get the hang of boost::shared_prt and weak_ptr so far I have the following

Code:
#include <iostream>
#include <string>
#include <boost/thread.hpp>
#include <boost/lambda/bind.hpp>

[Code] .....

My questions are, is the tree class defined correctly? How do I find the parent of a given node? And how does the insert part will work?

View 6 Replies View Related

C++ :: AVL-tree Calculate Height Difference?

Sep 28, 2014

I looking for method which can give me the height difference of an AVL_tree.

The method i come up with up now is this.

int avl_tree::balance(node* pointer)
{
while (pointer->left != NULL) {
int left = balance(pointer ->left);
}
while (pointer->right != NULL) {
int right = balance(pointer->right);
}
return left - right;
}

Which recursively calls itself, but the problem is that i get stuck on the first line..

View 4 Replies View Related

C :: Function To Find Starting Point For Recursive

Mar 6, 2015

I am trying to create a function to find the entry point of my map.But my program does not seem to be working correctly. I am trying to place a dot there because I will have to use recursion to fill up the whole map. But I'm not asking for the answer. I just need writing a function to locate the starting row for the first column of the maze (first non zero element). My code seems to have a bug in it when I try and call my function FindEntry. What I am trying to do is read in column by column until I can find the starting point and then place a dot there with ASCII character 249. This is my code so far:

Code:
#include<stdio.h>
#include<Windows.h>
#define HEIGHT 21
#define WIDTH 78

[Code]....

If you try and run it, it will give you a bug. But if you comment out the FindEntry function in the main it will work and look like this:

View 7 Replies View Related

C++ :: Recursive Function Which Find Partition Of A Number N

May 18, 2013

I am supposed to write a recursive function which find the partition of a number n ,, for example if n=3 , it should print 1 1 1 , 1 2 , 3

I wrote the program but i am getting the two partition 1 2 and 2 1 which are the same ,, how can i avoid that ?
this is the code :

void PrintPartition( int n , int A[] , int j ) {
if( n<=0 ) {
printArray( A, j );
return ;
} for( int i=1 ; i<=n ; i++ ) {
A[j]=i;
PrintPartition( n-i , A ,j+1 );
} }

the first call of the function is : PrintPartition( n , A , 0 ) ;

View 3 Replies View Related

C/C++ :: Find Largest Sum Down A Triangle - Code Error With Recursive Function

Sep 29, 2013

Thing I want is find the largest sum down a triangle,(moving to adjacent numbers on the row below )there are many methods to go down.

75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23

I wrote a program with a recursive() called finder. But it dose not work properly,at run time it becomes to a infinite status. How to detect the error at runtime. Here is the code.

#include<stdio.h>
void finder(int x,int y);
int tot;

[Code] ....

I think the error is the changing value of x after a round of for loop.

View 2 Replies View Related

C :: Function Max In Binary Tree

May 28, 2013

I have a problem with the C code . I created two functions, one that runs through the tree inorder, the other that returns the maximum value in the tree. The problem is when I use in the main the method "max", which goes in a loop and not print anything on the screen . If I remove the call to method "max" it works fine. Here's the code:

Code:

#include<stdio.h>
#include<stdlib.h>
#define bool int
/* A binary tree tNode has data, pointer to left child
and a pointer to right child */
struct tNode {

[Code]...

View 13 Replies View Related

C :: Binary Tree Insert Function

Mar 31, 2014

I am having trouble writing an insert function for a binary tree.

Here is the structure that I have to use.

I have the print function done, the insert function is the one I am having trouble with,

Code:

typedef struct bt_{
int value;
struct bt_ *right;
struct bt_ *left;
}BST;

[Code].....

View 10 Replies View Related

C++ :: Binary Search Tree Remove Function

Feb 14, 2014

Im working on a BST remove function. I think I'm on the right track but I'm not sure. From what I understand there are 3 possible cases. A Node with no children, one child, or 2 children(this being the most complex).

void BST::remove(int x) {
TreeNode *n;
TreeNode *v;
n= root;
while(n != NULL && n->key != x){

[Code] ....

View 4 Replies View Related

C++ :: Binary Search Tree Print Function?

Nov 2, 2014

1) how come root node is printed when the first call to function goes to left subtree?

2) How it resets to root to go to right subtree from last left tree leaf?

void bst:: printNodes(hwareItem*& root){
if(root){
printNodes(root->left);
cout<<root->barcode<<endl;
cout<<root->description<<endl;
cout<<root->price_per_unit<<endl;
cout<<root->stock<<endl;
printNodes(root->right);}
}

View 19 Replies View Related

C :: How To Write One Binary Tree Function To Sort The Data

Dec 2, 2014

The Problem You are part of a company writing a spreadsheet program. As you know, spreadsheets can be sorted on any column. You're part of the project is to write one binary tree function to sort the data [Hint: use different fields when inserting nodes in the tree.] and a second function to list it in either an ascending or descending sequence. [Note: Each of these functions may actually need to be a set of related functions.]

For sample data you will have a disk file containing information about Shakespeare's plays. Your first function should create a tree based on the sort selected by the user and the second function to display the data in the sequence selected by the user. Regardless of the column being sorted, data in individual records always be displayed in the same line of the output.

Input : Each record will contain the following information: First Performed 9 characters Printed 5 characters Title 26 characters Type 7 characters

Output : Tabular output should be aligned in columns with two spaces between each. All columns should have headings. It should be sorted on the column specified by the user.

Example (This sample data provided so you can test your program.) If the data is:

1595-96 1600 A Midsummer Night's Dream Comedy
1594-95 1623 Two Gentlemen of Verona Comedy
1596-97 1623 King John History
1597-98 1598 Henry IV, Part 1 History
1611-12 1623 The Tempest Comedy
1602-03 1623 All's Well That Ends Well Comedy

[Code]...

Source: [URL]...

Possible outputs are

1 - for a sort by title: First
Performed Printed Title Type
--------- ------- -------------------------- -------
1595-96 1600 A Midsummer Night's Dream Comedy
1602-03 1623 All's Well That Ends Well Comedy
1606-07 1623 Antony and Cleopatra Tragedy
1599-1600 1623 As You Like It Comedy

[Code]....

2 - for a sort by first performed: First
Performed Printed Title Type
--------- ------- -------------------------- -------
1590-91 1594? Henry VI, Part 2 History
1590-91 1594? Henry VI, Part 3 History
1591-92 1623 Henry VI, Part 1 History
1592-93 1623 Comedy of Errors Comedy
1592-93 1597 Richard III History

[Code]....

View 1 Replies View Related

C++ :: Binary Search Tree (Iterative Function To Insert)

Jun 23, 2013

I was studying BST and tried to make a iterative function to insert, the original recursive function is the following:

void insert(node *&tree, int value) {
if (!tree) {
tree = new node;
tree->num = value;
tree->left = tree->right = NULL;

[Code] ....

And the code that i did is (but doesn't work):

void insert(node *&tree, int value) {
if (!tree) {
tree = new node;
tree->num = value;
tree->left = tree->right = NULL;

[Code] ....

I don't see where the error is or why it doesn't work.

View 6 Replies View Related

C++ :: Insert Function In Binary Tree - Stack Overflow Error

Mar 26, 2013

I am trying to implement the insert function of a binary tree. Atm when I try and insert 3 nodes, the program breaks and gives me a stack overflow error. The error points to a getter function for an identifier for the data in my node class.

void LinkedList::add(Product *myProduct) {
if (_length==0) {
_head = new Node(NULL, NULL, myProduct);
_end = _head;
_length=1;

[Code] ....

Here is my insert function, the error message is

"An unhandled exception of type 'System.NullReferenceException' occurred in SDI2.exe
Additional information: Object reference not set to an instance of an object. "

In my main I have declared an instance of product, "productToAdd = new Product(id,idPrice);" so I'm a bit confused as to what I need to include..

View 3 Replies View Related

C++ :: Binary Search Tree - How To Implement Insert Function Properly

Nov 18, 2013

I am unable to implement the insert function properly, every time i run the program i just get the first value and name, I am not getting other Id's and name.

"(Header File)"
#include <iostream>
#include <string>
using namespace std;
class node{
public:
int ID;
string name;
class node *left, *right, *parent;

[Code] .....

View 4 Replies View Related

Visual C++ :: Binary Search Tree - Implementing Insert Function

Nov 18, 2013

I am unable to implement the insert function properly,every time i run the program i just get the first value and name,i am not getting other Id's and name.

Code:
"(Header File)"
#include <iostream>
#include <string>
using namespace std;
class node {
public:
int ID;
node (string StudentName, int IDNumber) {

[Code] ....

View 4 Replies View Related

C++ :: Develop A Function Which Prints A Binary Tree Using Post-order Traversal?

Feb 26, 2013

I am trying to develop a function which prints a binary tree using post-order traversal (left, right, root) but I am experiencing some troubles. The code is compiled but when I run the program it crashes right before printing the post-order traversal.

Below you can find my code and the output from debugging.

Code:
/**
Program which represents a Binary Search Tree and is modified with the following functions:
- smallest() - member function which searches for the smallest element in the tree.
- preorder() - member function which prints the tree nodes using pre-order traversal
- postorder() - member function which prints the tree nodes using post-order traversal (to be completed)
*/
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
class TreeNode {
public:

[code]...

This is from the debugger log:

Child process PID: 5720
At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:316
At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:317
At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:318
At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:319
Program received signal SIGSEGV, Segmentation fault.
At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:279

View 9 Replies View Related

Visual C++ :: Find Correct Font (height) For Text?

Mar 20, 2014

my problem:I have a text (singleline) and a fix width for the whole text.

How do I find the correct font (height) for this text?

View 8 Replies View Related

C++ :: Create Binary Search Tree Template To Be Used To Create AVL Tree

Feb 10, 2013

For my data-structures class, I am attempting to create a binary search tree template to be used to create an AVL tree. I've written a Generic_Tree template for the BST to inherit from, and before I jump into implementing the AVL tree I'm testing the BST member functions. Everything was compiling fine until I added the BST insert() function. Now, I'm getting the following error message from my linker:

undefined reference to 'BST<void>::insert(int, void*)'

Stemming from the call in main line 16.

my makefile compiles with:
g++ -Wall -g Generic_Tree.cpp BST.cpp barfing.cpp main.cpp

Generic_Tree:

template < typename NODE_DATA, unsigned MAX_KIDS >
class Tree {
protected:
struct NODE {
NODE_DATA* contents;
Tree* child[MAX_KIDS];
Tree* parent;

[Code] ....

I'm use to c and havn't used classes or templates before (except for declaring instances of them). The whole syntax is mystifying to me,.

View 4 Replies View Related

C :: Divide And Conquer Find Min And Max By Recursive

Mar 6, 2015

In this code nothing modify except function minMaxSearchRecursive

Code:
int min(int a, int b) {
if (a < b) {
return a;
} else {
return b;

[Code] .......

View 9 Replies View Related

C/C++ :: How To Programmatically Find If The Code Is Recursive Or Iterative

Apr 8, 2014

Is there any way to programatically find if the given code is taking recursive approach or iterative apporaoch using concept of files in C programming.

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved