How should we choose k in practice

Assignment Help Data Structure & Algorithms
Reference no: EM131862640

Foundations of Algorithms Assignment

Collaboration groups will be set up in Blackboard; however, there are no collaborative problems on this first assignment. All solutions are to be the result of individual e?ort.

Problems

1. Use induction to prove i=1n i3 = ( {n(n+1)} / 2 )2.

2. Although merge sort runs in Θ(n lg n) worst-case time and insertion sort runs in Θ(n2) worst-case time, the constant factors in insertion sort can make it faster in practice for small problem sizes on many machines. Thus, it makes sense to coarsen the leaves of the recursion by using insertion sort within merge sort when subproblems become su?ciently small. Consider a modification to merge sort in which n/k sublists of length k are sorted using insertion sort and then merged using the standard merging mechanism, where k is a value to be determined.

(a) Show that insertion sort can sort the n/k sublists, each of length k, in Θ(nk) worst-case time.

(b) Show how to merge the sublists in Θ(n lg(n/k)) worst-case time.

(c) Given that the modified algorithm runs in Θ(nk + n lg(n/k)) worst-case time, what is the largest value of k as a function of n for which the modified algorithm has the same running time as standard merge sort, in terms of Θ-notation?

(d) How should we choose k in practice?

3. Write a Θ(m + n) algorithm that prints the in-degree and the out-degree of every vertex in an m-edge, n-vertex directed graph where the directed graph is represented using adjacency lists.

4. Consider the following algorithm for doing a postorder traversal of a binary tree with root vertex root.

Algorithm 1 Postorder Traversal
Postorder(root)
if root ?= null then
Postorder(root.lef t);
Postorder(root.right);
visit root;
end if;

Prove that this algorithm runs in time Θ(n) when the input is an n-vertex binary tree.

5. We define an AVL binary search tree to be a tree with the binary search tree property where, for each node in the tree, the height of its children differs by no more than 1. For this problem, assume we have a team of biologists that keep information about DNA sequences in an AVL binary search tree using the specific weight (an integer) of the structure as the key. The biologists routinely ask questions of the type, "Are there any structures in the tree with specific weight between a and b, inclusive?" and they hope to get an answer as soon as possible. Design an efficient algorithm that, given integers a and b, returns true if there exists a key x in the tree such that a ≤ x ≤ b, and false if no such key exists in the tree. Describe your algorithm in pseudocode and English. What is the time complexity of your algorithm? Explain.

Reference no: EM131862640

Questions Cloud

Contrast the findings and results of the literature : Identify two to three (2-3) common themes in the literature.Contrast the findings and results of the literature. Identify gaps in the literature.
Find the change in kinetic energy of the disk : As the disk radiates infrared light, its temperature falls to 20.0°C. No external torque acts on the disk.
Find the thermal conductivity k of the insulating material : Find the thermal conductivity k of the insulating material.
Distances between the surfaces remain unchanged : Find the new radius of curvature. Assume that the changes are small enough that the distances between the surfaces remain unchanged.
How should we choose k in practice : How should we choose k in practice? What is the largest value of k as a function of n for which modified algorithm has same running time as standard merge sort.
Why does maneuverability point change : Why does maneuverability point change as the aircraft flies at different altitudes?
Analyze and discuss the major medical issues : Analyze and apply the diagnostic criterion and distinguishing features between substance dependence and substance abuse.
Making implies entities willing to accept additional risk : Proper decision making implies entities willing to accept additional risk should be:
Explain why blowing over the bottle creates a standing wave : Explain why blowing over the bottle creates a standing wave, and why the tone increases as the bottle is filled.

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Implement an open hash table

In this programming assignment you will implement an open hash table and compare the performance of four hash functions using various prime table sizes.

  Use a search tree to find the solution

Explain how will use a search tree to find the solution.

  How to access virtualised applications through unicore

How to access virtualised applications through UNICORE

  Recursive tree algorithms

Write a recursive function to determine if a binary tree is a binary search tree.

  Determine the mean salary as well as the number of salaries

Determine the mean salary as well as the number of salaries.

  Currency conversion development

Currency Conversion Development

  Cloud computing assignment

WSDL service that receives a request for a stock market quote and returns the quote

  Design a gui and implement tic tac toe game in java

Design a GUI and implement Tic Tac Toe game in java

  Recursive implementation of euclids algorithm

Write a recursive implementation of Euclid's algorithm for finding the greatest common divisor (GCD) of two integers

  Data structures for a single algorithm

Data structures for a single algorithm

  Write the selection sort algorithm

Write the selection sort algorithm

  Design of sample and hold amplifiers for 100 msps by using n

The report is divided into four main parts. The introduction about sample, hold amplifier and design, bootstrap switch design followed by simulation results.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd