Create a class called Sample that supports the following two operations and has a constructor that accepts an array p[] of double values as an input. Change(i, v) changes the value of p[i] to v and random() returns an index i with a probability of p[i]/T (where T is the total of the numbers in p[]). Use a full binary tree with assumed weights of p[i] at each node. The total weight of all the nodes in a subtree should be stored in each node. Choose a random integer between 0 and T to create a random index, and then use the cumulative weights to decide which branch of the subtree to investigate. Change each node's weight along the route from the root to i when updating p[i]. Don't use direct pointers, as we do for heaps.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 16PE: The implementation of a queue in an array, as given in this chapter, uses the variable count to...
icon
Related questions
Question

Create a class called Sample that supports the following two operations and has a constructor that accepts an array p[] of double values as an input. Change(i, v) changes the value of p[i] to v and random() returns an index i with a probability of p[i]/T (where T is the total of the numbers in p[]). Use a full binary tree with assumed weights of p[i] at each node. The total weight of all the nodes in a subtree should be stored in each node. Choose a random integer between 0 and T to create a random index, and then use the cumulative weights to decide which branch of the subtree to investigate. Change each node's weight along the route from the root to i when updating p[i]. Don't use direct pointers, as we do for heaps.

Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Types of trees
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.
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
New Perspectives on HTML5, CSS3, and JavaScript
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:
9781305503922
Author:
Patrick M. Carey
Publisher:
Cengage Learning
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr