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

  Explain advantages of eager decision tree algorithm

Explain advantages and disadvantages of new algorithm compared with eager decision tree algorithm, and advantages and disadvantages of new algorithm compared with lazy kNN algorithm.

  Use separate chaining to store the

Use separate chaining to store the following keys. Consider that each letter is a number corresponding to the sequence of English alphabets. That is, A->1,

  Create a hierarchy chart depicting the chosen situation

Create a hierarchy chart depicting the chosen situation. Develop a flowchart and provide a brief explanation for it. Develop an algorithm and provide a brief explanation for it

  What numbers are compared to 72 if a sequential search is

question 1. what numbers are compared to 72 if a sequential search is used 2 5 7 9 11 17 18 21 28 30 45 5465 69 72.

  Prove dijkstras token ring reaches legitimate con­figuration

Prove that Dijkstra's token ring reaches a legitimate con­figuration in O(N2) steps. Shorten the analysis by giving a single norm function, quadratically bounded in N, that decreases with every step of the algorithm.

  Creating sql statements

Create three SQL statements: the 1st statement should add pending amounts to appropriate accounts, the second statement should subtract the pending amounts from appropriate accounts,

  Analyze case asymptotic complexity of making interference

Analyze the worst-case asymptotic complexity of making an interference graph, for a program of size N (with at most N variables and at most N control-flow nodes).

  Create algorithm prompt for and receive employee number

Create algorithm which will prompt for and receive the employee number from operator at terminal. Your program is to search array of valid employee numbers to check that employee number is XXXXX,

  Calculate the number of points a publication provides

In this exercise you shall work with a system of records for publications associated with research and development.

  Determine the set ecr for chang-roberts algorithm

Give an initial configuration for Algorithm 7. 7 for which the algorithm actually requires llog NJ + 1 rounds. Determine the set ECR (as defined before Lemma 7. 1 0) for the Chang-Roberts algorithm.

  Describing the data types

Create a 10-12 slide presentation describing the data types. Include the following in your presentation: Introductory slide and Slide for each data type

  Making visual studio.net web application

Make a Visual Studio.NET 2005 web application with 2-aspx forms. Add a Menu control and a Label control to form. Populate the Menu control with data stored in the "Font" column and show your name in the Label control.

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