Reference no: EM131386769
Referring to the slides from text book, Chapter 5, there are two versions of Fibonacci number calculators: BinaryFib(n) and LinearFibonacci(n). The first algorithm has exponential time complexity, while the second one is linear.
a) In this programming assignment, you will implement in Java both the versions of Fibonacci calculators and experimentally compare their runtime performances. For that, with each implemented version you will calculate Fibonnaci (5), Fibonacci (10), etc. in increments of 5 up to Fibonacci (100) (or higher value if required for your timing measurement) and measure the corresponding run times. You need to use Java's built-in time function for this purpose. You should redirect the output of each program to an out.txt file. You should write about your observations on timing measurements in a separate text or pdf file. You are required to submit the two fully commented Java source files, the compiled executables, and the text/pdf files.
b) Briefly explain why the first algorithm is of exponential complexity and the second one is linear (more specifically, how the second algorithm resolves some specific bottleneck(s) of the first algorithm). You can write your answer in a separate file and submit it together with the other
submissions.
c) Do any of the previous two algorithms use tail recursion? Why or why not? Explain your answer.
If your answer is ``No'' then
i. design the pseudo code for a tail recursive version of Fibonacci calculator;
ii. implement the corresponding Java program and repeat the same experiments as in part (a) above. You will need to submit both the pseudo code and the Java program, together with your experimental results.
How has the perception of the hacker changed
: How has the perception of the hacker changed over recent years? (Lone wolf vs organized hacking groups) What is the profile of a hacker today?
|
How much did jeremy borrow
: If the friend normally discounts investments cash flows at 11.00 percent annually, how much did Jeremy borrow?
|
What are the various types of malware
: What are the various types of malware? How do worms differ from viruses? Do Trojan horses carry viruses or worms? (160 word minimum, give example of atleast one worm and virus and differences)
|
Greater concern than traditional malware
: Why does polymorphism cause greater concern than traditional malware? How does it affect or avoid detection. (Min 270 of original words)
|
Versions of fibonacci number calculators
: Referring to the slides from text book, Chapter 5, there are two versions of Fibonacci number calculators: BinaryFib(n) and LinearFibonacci(n). The first algorithm has exponential time complexity, while the second one is linear.
|
Prepare strategic plans based upon the market environment
: Formulate an operational strategy for the business model of their new ventures. Develop strategic plans based upon the market environment. Determine the organizational configuration required to support the new venture.
|
Examine the proposed proof
: For each of the proposed claims below, examine the proposed proof and point out the flaw in it. Donot just explain why the claim is wrong; rather you should explain how the argument violates the notion of a valid proof.
|
Database administrator for an organization
: You were recently hired as a database administrator for an organization who cannot afford to have any downtime. You have been asked to develop a plan for monitoring SQL Server databases.
|
Relationship between process design and facility layout
: Citing specific examples, critically discuss the relationship between process design and facility layout. 1000 words needed in one week
|