C++ ::  Traversal In Binary Search Tree

Apr 29, 2013

Traversal of binary search tree. In my header file there is a function setTraversal (public) and private print file. As I understood from teacher's explanation, my setTraversal function should call the recursive print function and print the list depending on selected order (pre,in or post-order). I still cannot get my head around what should be in setTraversal function definition. All resources I read last two days explain each order separately (preorder, inorder, postorder). How can I combine them? Here is my code:

#include "NodeTypeBST.h"
#include <iostream>
enum TravType {PRE, IN, POST};
template<class T>
class BST

[Code] ....

View 1 Replies


ADVERTISEMENT

C/C++ :: Binary Search Tree Inorder Traversal

Nov 25, 2014

I am having trouble figuring out inorder traversal in this assignment. I was given this function definition in the homework i have to declare it. The problem i am having is how to use function pointer to traverse the list.

void CBSTree<NodeType>::InOrderTraversal(void (*fPtr)(const NodeType&)) const;
void CBSTree<NodeType>::InOrder(const CTreeNode<NodeType> *const nodePtr
,void (*fPtr)(const NodeType&)) const;
//nodePtr is a pointer to a NodeType object (this is a recursive function, initially this points to the root).
//fPtr is a pointer to a non-member function that takes a const reference to a NodeType object as input, and
//returns nothing

I know without the function pointer parameter it will be like this

void InOrder(CTreeNode *nodePtr) {
if(nodePtr != NULL) {
InOrder(nodePtr->left);
cout<<nodePtr->value;
InOrder(nodePtr->right);
}
}
void InOrderTraversal() {
InOrder(root);
}

I just don't know how to traverse inorder with the function definition i am given

View 12 Replies View Related

C++ :: Graph And Binary Tree Traversal

Mar 30, 2014

I used a BFS to simulate graph-join structure in a C++ code, and had a binary tree that asks the user e.g. to insert a node in the tree among other options, anyhow, I reached a point where I should pass a set of vertices from the graph to the tree, but how to do so. So I wanted to ask is such a thing possible? i.e. passing vertices from a graph to a tree automatically (no user involvement is needed)?

View 4 Replies View Related

C/C++ :: Binary Tree Preorder Traversal

Jan 14, 2015

I have written a code for binary tree and i want pre-order traversal of tree but my code is producing wrong output.

#include<stdio.h>
struct node {
int data;
struct node *right;
struct node *left; };
struct node *root = NULL;

[Code] ....

View 6 Replies View Related

C++ :: Create Binary Tree From Preorder Traversal

Aug 1, 2013

I am trying to read/write binary trees to a file for a little project I'm working on for fun. I got frustrated and gave up; now, I am trying again! So I am writing the tree to file (or, rather, to string for now) like so:

string wBinTree(node *p)
{
string str = "";

[Code]....

But now I'm completely lost as to recreating the tree from a string. I thought of perhaps using an array/vector/string of 1's and 0's or trues and falses to keep track of where I was in the tree, but it's really beyond me.

View 16 Replies View Related

C :: Unable To Perform In Order Traversal In Binary Tree

Jan 16, 2014

Following is the code for inserting elements in a tree and then retrieving them back using inorder traversal technique elements are getting inserted just fine,but the code doesn't displays the elements of the tree while performing inorder traversal..

Code:

#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node *right;
struct node *left;
}*z,*t,*root=NULL,*x=NULL,*y=NULL;

[Code]....

View 2 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

C++ :: Search Binary Tree

Aug 12, 2014

It has been a while since I built a binary tree from scratch so I decided to do it. Everything works fine but this one function. When I enter a number to search it just keeps running and allowing me to keep enter numbers.

Code:
void tree::search(int key,Node* leaf) {
if (leaf == NULL) {
std::cout<<"The tree is empty

[Code] ......

View 3 Replies View Related

C++ :: Binary Search Tree With Templates?

Oct 27, 2014

I am trying to implement BST using templates. This is the code that i have written.

Code: template <class T>
struct node
{
struct node *left;

[Code].....

There are no errors but the program hangs. What is the mistake with this program ?

View 2 Replies View Related

C++ :: Binary Search Tree Printing

Apr 19, 2014

I am not sure how to use the parameters ostream and enum type in a print function.

enum TraversalOrderType {preorder, inorder, postorder};
template <class ItemType>
void Tree<ItemType>::print(ostream & Outstream, TraversalOrderType order) {

[Code] ....

Is this the correct way to call the print function?

int main() {
Tree<int> tree1;
tree1.print(cout, preorder);
return 0;
}

View 2 Replies View Related

C++ :: Binary Search Tree Remove?

May 10, 2014

I don't know why, but my remove function doesn't seem to operate properly. The rest of my code is fine, so I am trying to pinpoint the exact location of my error. The else if statement remove(root->left, data) should've been called twice, but it only called once.

BST* smallestNode(BST* root)
// precondition: T is not null
// postcondition: return the node in the subtree rooted at T that

[Code]....

View 2 Replies View Related

C++ :: Binary Search Tree Optimization?

Jul 9, 2013

I was working on binary tree implementation and came up with this implementation. optimize this code?

/*
Binary Search Tree(BST)
06/27/2013
*/
#include "iostream"

[Code].....

View 3 Replies View Related

C/C++ :: Implementing A Binary Search Tree?

Mar 20, 2014

I'm working on a programming homework that asks us to implement all the functions of a Binary Search Tree using templated classes. I'm almost done with it but I'm sort of stuck with the last part which is the `search` function. For this part the homework asks for the following requirements

Quote

Node<T>* search(T value, Node<T>* subtree)

if the current node's value is the one we're search for, return a pointer to itif the current node's left and right subtree's are empty (both m_left and m_right are looking at nullptr) then return the nullptr to indicate we didn't find the valueif the value is less than the current node's value, return the search of the left subtreeif the value is greater than or equal to the current node's value, return the search of the right subtreeMake sure to only traverse a subtree if it's not null

View 1 Replies View Related

C++ :: Lexing File Into Binary Search Tree

May 22, 2013

Standard example. I have a large text file and I wish to lex it into words. I tell the program that all words are delimited by ' ' ';' ':' and ''.

When I run the program it seems to be outputting the occurances of the letters and not the words. Im gobsmacked, I dont know what the hell is going on. Heres the function that lexes letters and not words. I want words dammit words!!

First youll see I define root node and point it to null; This forms the base of the BST. Then keep munching one character at a time until EOF reached. If the character is not a delimiter, assign it to "word" string, character by character. If it is a delimiter, take the so-far-constructed "word" and chuck it in the BST, then clear the word string through .clear().

Repeat until done. But its not working.

Code:

struct masternode* lexical_scanner(ifstream* inputfile) {
string word;
char c;
struct masternode* root = NULL;
while (c!=EOF){

[Code] .....

All the other functions in the source file are just fine, I've tested them in other apps and they are purpose built.

View 6 Replies View Related

C :: Binary Search Tree - Struct Data

Oct 24, 2013

I was working with binary search tree and came up with the solution:

Code:
#include<stdio.h>
#include<stdlib.h>
typedef struct data {
int x;
struct data *left;
struct data *right;

[Code] .....

View 6 Replies View Related

C :: Binary Search Tree In Linked List

Feb 25, 2014

Code:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct bst {
int val, level;
struct bst *left, *right, *parent;

[Code]....

The code above is supposed to be a binary search tree. The main outcome for this program is to display the tree in C each time the user inserts or deletes a value.

Since I am a newbie in C programming, I first tried creating a code that would simply display the values in the tree after a user inserts and deletes, before I proceed to displaying the exact tree.

But when I run it the following output shows:

And when I try to insert another value, It won't display anything and won't respond to any keys pressed.

View 5 Replies View Related

C++ :: Binary Search Tree - Undeclared Identifier

Mar 8, 2013

I'm trying to create a template binary search tree and I'm getting all these vague errors that I have no clue how to solve. I've narrowed it down to my findMax and findMin functions but i can't figure it out any further than that.

template<class T>
class BinarySearchTree{
private:
struct BinaryNode{
T data;
BinaryNode *left;
BinaryNode *right;

[Code] .....

and here is are the errors I'm getting from this header file.

1>------ Build started: Project: Programming Assignment 2, Configuration: Debug Win32 ------
1> main.cpp
: error C2143: syntax error : missing ';' before '*'
: error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
: error C2065: 'T' : undeclared identifier

[Code] ....

View 2 Replies View Related

C++ :: BST Iterative Insert For Binary Search Tree

May 13, 2014

I'm writing the function as described in the title but it isn't quite working. It works as long as the value passed is less than the parent (going left) but when the value should be placed to the right, it doesn't actually insert the node.

template <typename T>
void BST<T>::insertHelper(BST<T>::BinNodePtr &subRoot, const T& item) {
BinNode *newNode;
BinNode *parent;
BinNode *child;

[Code] ....

FYI, I've commented out setting the children of the new leaf to NULL because the constructor already does that.

View 1 Replies View Related

C++ :: Binary Search Tree - Delete Node

Apr 3, 2013

This is the delete function of binary search tree. However it won't enter the if-else statement that checks whether the node to be deleted is the left child or right child.

void DeleteNode(node* T, int number) {
node* x = new node;
node* current = new node;
node* dele = new node;
node* finder = new node;
finder = root;

[Code] ....

View 2 Replies View Related

C++ :: Display Numbers In Binary Search Tree - Getting 0s

Jan 31, 2015

I want to display the numbers in a bst but all I get are 0s, what is wrong with my code that is causing this?

#include <iostream>
using namespace std;
class binarySearchTree {
private:
class TreeNode {
friend class binarySearchTree;
int value;

[Code] ....

View 1 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++ :: Displaying Last TWO Largest In A Binary Search Tree?

Dec 12, 2013

How would I display the last two largest nodes in a binary search tree recursively?

View 1 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++ :: Write Destructor For Binary Search Tree?

May 12, 2013

I am trying to write the destructor for my binary search tree. But how to write this.

I have tried
delete root; and delete [] root;
but it doesn't work.

So, here is my code.

#ifndef TREE_H
#define TREE_H
struct PersonRec {

[Code]......

View 1 Replies View Related

C/C++ :: Binary Search Tree That Will Accept Integers?

Feb 28, 2015

Create Binary Search Tree that will accept integers in this order: 35, 18, 48, 72, 60, 25.

It needs to prompt the user for input and then return either "True" or "False" if the number exists in the array.

#include <iostream>
#include <string>
#include <cstdlib>

[Code].....

View 2 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







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