Question
Your friends have been studying the closest prices of tech stocks, looking for interesting patterns. They've defined something called a rising trend , as follows:
Your friends have been studying the closest prices of tech stocks, looking for interesting patterns. They've defined something called a rising trend, as follows:
They have the closing price for a given stock recorded for n days in succession; let these prices be denoted P[1], P[2], , P[n]. A rising trend in these prices is a subsequence of the prices P[i1], P[i2], , P[ik] for days i1 i1 =1, and for each j =1, 2, ... , k 1. Thus a rising trend is a subsequence of the daysbeginning on the first day and not necessarily contiguousso that the price strictly increases over the days in this subsequence. They are interested in finding the longest rising trend in a given sequence of prices. Example. Suppose n = 7, and the sequence of prices is 10,1,2,11,3,4,12. Then the longest rising trend is given by the prices on days 1, 4, and 7. Note that days 2, 3, 5, and 6 consist of increasing prices; but because this subsequence does not begin on day 1, it does not fit the definition of a rising trend. (a) Show that the following algorithm does not correctly return the length of the longest rising trend, by giving an instance on which it fails to return the correct answer. Define i=1 L=1 For j=2 to n If P[j] > P[i] then Set i=j. Add 1 to L. Endif Endfor In your example, give the actual length of the longest rising trend, and say what the algorithm above returns. (b) Give an efficient algorithm that takes a sequence of prices P[1], P[2], , P[n] and returns the length of the longest rising trend.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started