Generate a new element one at a time

Assignment Help Data Structure & Algorithms
Reference no: EM13948841

Among other things, a binary search tree can be used for sorting data elements. This project is to randomly generate a sequence of integer numbers, insert the first 20 distinct numbers into a binary search tree, and finally produce an in-order listing of the tree. You are provided with the declarations and two functions for binary search trees (see the appended). One of the functions is Insert that adds a new element to a binary search tree. And the other is lookup which checks if a given element is already in a binary search tree. In this project, you need to define a print function that prints tree elements in in-order as well as a count function that counts and returns the number of tree nodes in a binary search tree. In addition you need to complete the main function. You may use the built-in random number function to generate new elements for inserting as shown below:

srand(time(NULL)); /* do it at the beginning of main function */
newElem = rand() % 100; /* generate a new element one at a time */
Then you can check for each new element if it is already there using the lookup function and if there are enough elements in the tree using the count function before doing insert. Finally, use the print function to show the result.
/* declarations and function definitions for binary search trees */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TRUE 1
#define FALSE 0
typedef int BOOLEAN;
typedef int ETYPE;
typedef struct NODE *TREE;
struct NODE {
ETYPE element;
TREE leftChild, rightChild;
};
TREE insert(ETYPE x, TREE T)
{
if (T == NULL) {
T = (TREE) malloc(sizeof(struct NODE));
T->element = x;
T->leftChild = NULL;
T->rightChild = NULL;
}
else if (x < T->element)
T->leftChild = insert(x, T->leftChild);
else if (x > T->element)
T->rightChild = insert(x, T->rightChild);
return T;
}
BOOLEAN lookup(ETYPE x, TREE T)
{
if (T == NULL)
return FALSE;
else if (x == T->element)
return TRUE;
else if (x < T->element)
return lookup(x, T->leftChild);
else /* x must be > T->element */
return lookup(x, T->rightChild);
}

Reference no: EM13948841

Questions Cloud

Returns for various states of the economy : Stock A has the following returns for various states of the economy:
Compute the number of pans that must be sold for ingo : Compute the number of pans that must be sold for Ingo to break even. How many pans must be sold for Ingo to earn a before-tax profit of $12,600?
What is the most that you should pay for the annuity : You just inherited some money and a broker offers to sell you an annuity that pays $9,000 at the end of each year for 20 years, with the first payment coming 5 YEARS FROM TODA. You could earn 5% on your money in other investments with equal risk. Wha..
Difference between science fiction and myth : What is the difference between Science Fiction and Myth, According to Suvin
Generate a new element one at a time : Then you can check for each new element if it is already there using the lookup function and if there are enough elements in the tree using the count function before doing insert. Finally, use the print function to show the result.
Financing outstanding-debt : The Saunders Investment Bank has the following financing outstanding. Debt: 60,000 bonds with a coupon rate of 6 percent and a current price quote of 109.5; the bonds have 20 years to maturity. 230,000 zero coupon bonds with a price quote of 17.5 and..
Dividends tend to fluctuate in direct relation to changes : Based on the dividend growth model, the price of a stock will remain constant if the dividend is cut, provided that the: Dividends tend to fluctuate in direct relation to changes in annual earnings. Managers are less concerned with the change in the ..
Person to become a successful entrepreneur : What qualifies a person to become a successful entrepreneur? Why are you interested in an entrepreurship focused exchange program?
Calculate the break-even units rounded to the nearest unit : Calculate the break-even units, rounded to the nearest unit. Calculate the units needed to earn $18,000, rounded to the nearest unit.

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Data mining algorithms

Assess the reliability of the data mining algorithms. Decide if they can be trusted and predict the errors they are likely to produce. Analyze privacy concerns raised by the collection of personal data for mining purposes

  Find efficiency of high speed digital transmission system

Assume I have a multiplexer that is connected to a high speed digital transmission system that can transfer 1,536,000 data bits per second.

  An undirected graph g is called bipartite

An undirected graph G is called bipartite if its vertices can be partitioned into two sets X and Y such that every edge in G has one end vertex in X and one end vertex in Y

  Implement the priorityq class using a heap instead

Implement the PriorityQ class using a heap instead of an array

  What are some of the critical differences

When you start a new project, what are the essential tasks you take care or start with?

  What is the machine run time in second for sorting array

Write computer program to implement this algorithm and demonstrate the results and what is the machine run time in second for sorting array A?

  Explain consensus algorithm

"Consensus algorithm": A group of ten people need to decide which one flavor of ice cream they will all order, out of three options.

  Problem 1 in an advanced country a point system is

problem 1 in an advanced country a point system is maintained to keep track of erring drivers and vehicle owners. the

  Design algorithm to produce list of customers

Design an algorithm to produce a list of customers from the Glad Rags Clothing Company's customer master file. Each record on the customer master file contains the customer's number.

  Working with physicists that hav an inert lattice structure

working with Physicists that hav an inert lattice structure, and they use this for placing charged particles at regual spacing along a straight line

  Explain solution to recurrence-appealing to recursion tree

Solve the following recurrence relations by the method of your choiceT(n) = 1 for n = 4 and T(n) =pnT(pn) + n for n > 4. Argue that the solution to the recurrence T(n) = T(n=3) + T(2n=3) + cn is (n lg n) by appealing to the recursion tree.

  Is a flowchart more valuable in documenting

Is a flowchart more valuable in documenting the logic of a program than just the coded instructions in the programming language

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd