Assume the following list: 30, 45, 1, 26, 90, 5, 85, 35, 20, 41, 38, 72, 11, 33, 49 (a) Using the function buildHeap as given in this chapter, convert the list into a heap. buildHeap Function template void arrayListType::heapify(int low, int high) { int largeIndex; elemType temp = list[low]; //copy the root node of the subtree largeIndex = 2 * low + 1; //index of the left child while (largeIndex <= high) { if (largeIndex < high) if (list[largeIndex] < list[largeIndex + 1]) largeIndex = largeIndex + 1; //index of the largest child if (temp > list[largeIndex]) //subtree is already in a heap break; else { list[low] = list[largeIndex]; //move the larger child to the root low = largeIndex; //go to the subtree to restore the heap largeIndex = 2 * low + 1; } }//end while list[low] = temp; //insert temp into the tree, that is, list } //end heapify End buildHeap Function   (b) Show the resulting list after three passes of heapsort. (Use the heapify procedure as given in this chapter.) One pass: Two passes: Three passes:   template void arrayListType::buildHeap() { for (int index = length / 2 - 1; index >= 0; index--) heapify(index, length - 1); }

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

Assume the following list:

30, 45, 1, 26, 90, 5, 85, 35, 20, 41, 38, 72, 11, 33, 49

(a) Using the function buildHeap as given in this chapter, convert the list into a heap.

buildHeap Function

template<class elemType>
void arrayListType<elemType>::heapify(int low, int high)
{
int largeIndex;

elemType temp = list[low]; //copy the root node of the subtree

largeIndex = 2 * low + 1; //index of the left child


while (largeIndex <= high)
{
if (largeIndex < high)

if (list[largeIndex] < list[largeIndex + 1])

largeIndex = largeIndex + 1; //index of the largest child

if (temp > list[largeIndex]) //subtree is already in a heap

break;


else
{
list[low] = list[largeIndex]; //move the larger child to the root

low = largeIndex; //go to the subtree to restore the heap

largeIndex = 2 * low + 1;
}

}//end while


list[low] = temp; //insert temp into the tree, that is, list


} //end heapify

End buildHeap Function

 

(b) Show the resulting list after three passes of heapsort. (Use the heapify procedure as given in this chapter.)

One pass:

Two passes:

Three passes:

 

template <class elemType>
void arrayListType<elemType>::buildHeap()
{
for (int index = length / 2 - 1; index >= 0; index--)
heapify(index, length - 1);
}

**Introduction to Tree Diagrams**

A tree diagram is a graphical representation used to illustrate the hierarchical structure of data. It consists of nodes connected by branches. Each node represents a decision point or a piece of data, and branches represent the relationship between these nodes.

**Explanation of Provided Tree Diagram**

The given tree diagram can be broken down as follows:

- **Root Node:** The top-most node is the starting point of the tree diagram. It typically represents the initial state or the most general category.
  
- **Branches:** Extending from the root node, there are branches leading to two nodes. These branches signify an initial decision or division.

- **Second Level Nodes:** These two nodes represent the results of the first division. They are child nodes of the root node.

- **Further Branches:** Each of the second-level nodes further branches out into two or three nodes, representing subsequent decisions or data categories.

- **Third Level Nodes:** These nodes make up the next layer in the hierarchy, resulting from the divisions of the second-level nodes.

- **Further Layers:** Similar branching continues until the diagram reaches the lowest level of nodes, with each layer signifying further subdivisions or decisions.

- **Leaf Nodes:** The nodes at the very bottom (terminal nodes) are called leaf nodes. They do not branch out further and represent the final outcomes or data points in the hierarchy.

This tree diagram illustrates how a hierarchical structure can represent multiple levels of decisions or data classifications, with each branching point showing a split from one category to more specific subcategories.

**Uses of Tree Diagrams in Education**

Tree diagrams are helpful in multiple domains of education such as:

- **Classification of Information:** In biology, for example, tree diagrams can classify species according to their evolutionary relationships.
  
- **Decision Making:** In statistics and mathematics, they can illustrate decision-making processes and probability outcomes.

- **Problem Solving:** Tree diagrams can break down complex problems into smaller, more manageable parts.

Understanding how to interpret and construct tree diagrams is a crucial skill in analyzing hierarchical data structures and making informed decisions based on structured data.
Transcribed Image Text:**Introduction to Tree Diagrams** A tree diagram is a graphical representation used to illustrate the hierarchical structure of data. It consists of nodes connected by branches. Each node represents a decision point or a piece of data, and branches represent the relationship between these nodes. **Explanation of Provided Tree Diagram** The given tree diagram can be broken down as follows: - **Root Node:** The top-most node is the starting point of the tree diagram. It typically represents the initial state or the most general category. - **Branches:** Extending from the root node, there are branches leading to two nodes. These branches signify an initial decision or division. - **Second Level Nodes:** These two nodes represent the results of the first division. They are child nodes of the root node. - **Further Branches:** Each of the second-level nodes further branches out into two or three nodes, representing subsequent decisions or data categories. - **Third Level Nodes:** These nodes make up the next layer in the hierarchy, resulting from the divisions of the second-level nodes. - **Further Layers:** Similar branching continues until the diagram reaches the lowest level of nodes, with each layer signifying further subdivisions or decisions. - **Leaf Nodes:** The nodes at the very bottom (terminal nodes) are called leaf nodes. They do not branch out further and represent the final outcomes or data points in the hierarchy. This tree diagram illustrates how a hierarchical structure can represent multiple levels of decisions or data classifications, with each branching point showing a split from one category to more specific subcategories. **Uses of Tree Diagrams in Education** Tree diagrams are helpful in multiple domains of education such as: - **Classification of Information:** In biology, for example, tree diagrams can classify species according to their evolutionary relationships. - **Decision Making:** In statistics and mathematics, they can illustrate decision-making processes and probability outcomes. - **Problem Solving:** Tree diagrams can break down complex problems into smaller, more manageable parts. Understanding how to interpret and construct tree diagrams is a crucial skill in analyzing hierarchical data structures and making informed decisions based on structured data.
Expert Solution
steps

Step by step

Solved in 5 steps with 4 images

Blurred answer
Knowledge Booster
Stack
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
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