We saw the mechanics of Tree Traversals and discussed how they're different from one another, but if we want to write practical software, we also need to know when we should be using the techniques we're learning about. In each of the scenarios described below in which a tree traversal is required, what would be the appropriate kind of tree traversal to use? For each one, briefly explain (in no more tha a sentence or two) why. 1. You're writing an analysis tool for a hierarchical organization, in which there is one person fundamentally in charge, to whom some number of people report, to each of whom some number of people report, and so on. There is a ranking in the organization, so the person in charge has rank 1, the people who report to that person have the rank 2, the people who report to the rank-2 people have th rank 3, and so on. Your input is this kind of organizational hierarchy. Your desired output is to be able to find the highest-ranking person (i.e., the person with the minimum rank number) who meets some characteristic (such as the highest-ranking person under 30 years old). 2. Your input is a binary tree that is an expression tree, in which each non-leaf node contains a binary mathematical operator (such as +, -, x, or +) and each leaf node contains a numeric value (such a 2 or 9.5). Your desired output is the value of the expression represented by the tree - so, for example, if the tree had a root node + and its two children were the numeric values 3 and 6, the result would be 9. 3. You're implementing a copy constructor for a class that implements a general tree using the "list of children" technique, with the objective being the usual one when implementing a copy constructor: The newly-constructed tree is wholly separate from the original, so that any modification to one does not affect the other.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
We saw the mechanics of Tree Traversals and discussed how they're different from one another, but if we want to write practical software, we also need to know when we should be using the techniques
we're learning about. In each of the scenarios described below in which a tree traversal is required, what would be the appropriate kind of tree traversal to use? For each one, briefly explain (in no more than
a sentence or two) why.
1. You're writing an analysis tool for a hierarchical organization, in which there is one person fundamentally in charge, to whom some number of people report, to each of whom some number of people
report, and so on. There is a ranking in the organization, so the person in charge has rank 1, the people who report to that person have the rank 2, the people who report to the rank-2 people have the
rank 3, and so on. Your input is this kind of organizational hierarchy. Your desired output is to be able to find the highest-ranking person (i.e., the person with the minimum rank number) who meets
some characteristic (such as the highest-ranking person under 30 years old).
2. Your input is a binary tree that is an expression tree, in which each non-leaf node contains a binary mathematical operator (such as +, -, x, or ÷) and each leaf node contains a numeric value (such as
2 or 9.5). Your desired output is the value of the expression represented by the tree - so, for example, if the tree had a root node + and its two children were the numeric values 3 and 6, the result
would be 9.
3. You're implementing a copy constructor for a class that implements a general tree using the "list of children" technique, with the objective being the usual one when implementing a copy constructor:
The newly-constructed tree is wholly separate from the original, so that any modification to one does not affect the other.
Transcribed Image Text:We saw the mechanics of Tree Traversals and discussed how they're different from one another, but if we want to write practical software, we also need to know when we should be using the techniques we're learning about. In each of the scenarios described below in which a tree traversal is required, what would be the appropriate kind of tree traversal to use? For each one, briefly explain (in no more than a sentence or two) why. 1. You're writing an analysis tool for a hierarchical organization, in which there is one person fundamentally in charge, to whom some number of people report, to each of whom some number of people report, and so on. There is a ranking in the organization, so the person in charge has rank 1, the people who report to that person have the rank 2, the people who report to the rank-2 people have the rank 3, and so on. Your input is this kind of organizational hierarchy. Your desired output is to be able to find the highest-ranking person (i.e., the person with the minimum rank number) who meets some characteristic (such as the highest-ranking person under 30 years old). 2. Your input is a binary tree that is an expression tree, in which each non-leaf node contains a binary mathematical operator (such as +, -, x, or ÷) and each leaf node contains a numeric value (such as 2 or 9.5). Your desired output is the value of the expression represented by the tree - so, for example, if the tree had a root node + and its two children were the numeric values 3 and 6, the result would be 9. 3. You're implementing a copy constructor for a class that implements a general tree using the "list of children" technique, with the objective being the usual one when implementing a copy constructor: The newly-constructed tree is wholly separate from the original, so that any modification to one does not affect the other.
Expert Solution
steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Eight puzzle problem
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education