Problem Statement   During tough times like these, investment becomes more uncertain with more dangers. To solve it, we might try to train a model to decide when to buy or sell. Therefore, to provide it with correct data, we plan to design an algorithm that answers: what is the perfect moment to buy and when to sell to maximize your profit? Assume you must buy Input: ???????: array listing ??????? ?? ??? ??????, where indices represent days; it has at least two valueschanges: array listing changes in the prices, where indices represent days; it has at least two values Output: ???????????:index of the change before which we buy:index of the change before which we sell:the profit of this intervali:index of the change before which we buyj:index of the change before which we sellmaxProfit:the profit of this interval Example: Assume the below table contains the prices of a particular stock over days   ??????prices ???????changes Day Value   0 50 - 1 63 13 2 70 7 3 40 -30 4 55 15 5 65 10 6 60 -5 7 72 12 8 79 7 9 68 -11 10 74 6 Therefore, the output of maxProfit([13,7,-30,15,10,-5,12,7,-11,6]) should be (3, 7, 39) . This is because our maximum profit would be 3939 when we buy the stock at day 4, index of 33, and sell after day 8, index of 77. Then, the total profit is 15+10−5+12+7=3915+10−5+12+7=39 We will try to solve the problem using various techniques: Brute-Force Divide-and-Conquer Solve it by using python programming language

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

Problem Statement

 

During tough times like these, investment becomes more uncertain with more dangers. To solve it, we might try to train a model to decide when to buy or sell. Therefore, to provide it with correct data, we plan to design an algorithm that answers:

  • what is the perfect moment to buy and when to sell to maximize your profit?
    Assume you must buy

Input:

???????: array listing ??????? ?? ??? ??????, where indices represent days; it has at least two valueschanges: array listing changes in the prices, where indices represent days; it has at least two values
Output:
???????????:index of the change before which we buy:index of the change before which we sell:the profit of this intervali:index of the change before which we buyj:index of the change before which we sellmaxProfit:the profit of this interval
Example:
Assume the below table contains the prices of a particular stock over days

 

??????prices ???????changes
Day Value  
0 50 -
1 63 13
2 70 7
3 40 -30
4 55 15
5 65 10
6 60 -5
7 72 12
8 79 7
9 68 -11
10 74 6

Therefore, the output of maxProfit([13,7,-30,15,10,-5,12,7,-11,6]) should be (3, 7, 39) . This is because our maximum profit would be 3939 when we buy the stock at day 4, index of 33, and sell after day 8, index of 77. Then, the total profit is 15+10−5+12+7=3915+10−5+12+7=39

We will try to solve the problem using various techniques:

  • Brute-Force
  • Divide-and-Conquer

Solve it by using python programming language

Empirical Analysis
Now, compare between the growth rate of the two algorithms
In [ ]: # feel free to import what you want
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import time
In [ ]: # recording the time for various calls
In [ ]: # the code to plot the curve
Theoretical Analysis
Brute Force
[Write your analysis for the brute force case]
Divide and Conquer
[Write your analysis for the divide-and-conquer case]
Transcribed Image Text:Empirical Analysis Now, compare between the growth rate of the two algorithms In [ ]: # feel free to import what you want %matplotlib inline import matplotlib import matplotlib.pyplot as plt import time In [ ]: # recording the time for various calls In [ ]: # the code to plot the curve Theoretical Analysis Brute Force [Write your analysis for the brute force case] Divide and Conquer [Write your analysis for the divide-and-conquer case]
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Problems on Dynamic Programming
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