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

  Implement an open hash table

In this programming assignment you will implement an open hash table and compare the performance of four hash functions using various prime table sizes.

  Use a search tree to find the solution

Explain how will use a search tree to find the solution.

  How to access virtualised applications through unicore

How to access virtualised applications through UNICORE

  Recursive tree algorithms

Write a recursive function to determine if a binary tree is a binary search tree.

  Determine the mean salary as well as the number of salaries

Determine the mean salary as well as the number of salaries.

  Currency conversion development

Currency Conversion Development

  Cloud computing assignment

WSDL service that receives a request for a stock market quote and returns the quote

  Design a gui and implement tic tac toe game in java

Design a GUI and implement Tic Tac Toe game in java

  Recursive implementation of euclids algorithm

Write a recursive implementation of Euclid's algorithm for finding the greatest common divisor (GCD) of two integers

  Data structures for a single algorithm

Data structures for a single algorithm

  Write the selection sort algorithm

Write the selection sort algorithm

  Design of sample and hold amplifiers for 100 msps by using n

The report is divided into four main parts. The introduction about sample, hold amplifier and design, bootstrap switch design followed by simulation results.

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