
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
as attached
a and b, thank you
![### DPChange(M, c, d) Pseudocode
This pseudocode is used to find the minimum number of coins needed to make change for a given amount \( M \) using a list of coin denominations.
#### Pseudocode Explanation:
1. **Initialization:**
- `bestNumCoins[0] = 0`: Set the base case for making change for 0 amount.
2. **Outer Loop (1 to M):**
- For each amount \( m \) from 1 to \( M \), do the following:
- Initialize `bestNumCoins[m] = inf` (infinity) to represent initially an impossible large number of coins.
3. **Inner Loop (1 to d):**
- Iterate over each coin denomination.
- **Check Condition:**
- If the current amount \( m \) is greater than or equal to the coin denomination \( c[i] \):
- Compare and update the best number of coins:
```
if bestNumCoins[m-c[i]] + 1 < bestNumCoins[m]:
bestNumCoins[m] = bestNumCoins[m-c[i]] + 1
```
- This checks if using the current coin \( c[i] \) results in fewer coins than previously computed for amount \( m \).
4. **Return Result:**
- Return `bestNumCoins[M]` which contains the minimum number of coins needed for amount \( M \).
### Questions:
a) **Convert this pseudocode to Python.**
```python
def DPChange(M, c):
bestNumCoins = [float('inf')] * (M + 1)
bestNumCoins[0] = 0
for m in range(1, M + 1):
for coin in c:
if m >= coin:
if bestNumCoins[m - coin] + 1 < bestNumCoins[m]:
bestNumCoins[m] = bestNumCoins[m - coin] + 1
return bestNumCoins[M]
```
b) **What is the runtime of this algorithm?**
The runtime of this algorithm is \( O(M \cdot d) \) where \( M \) is the amount for which we are making change and \( d \) is the number of different coin denominations. This is because for each amount up to \( M \), we iterate through each denomination.](https://content.bartleby.com/qna-images/question/12c18db6-f6e8-4129-b933-2f1b3972f7de/0619b341-f7c0-415c-91fd-cf3775ef7b99/16x3xla_thumbnail.png)
Transcribed Image Text:### DPChange(M, c, d) Pseudocode
This pseudocode is used to find the minimum number of coins needed to make change for a given amount \( M \) using a list of coin denominations.
#### Pseudocode Explanation:
1. **Initialization:**
- `bestNumCoins[0] = 0`: Set the base case for making change for 0 amount.
2. **Outer Loop (1 to M):**
- For each amount \( m \) from 1 to \( M \), do the following:
- Initialize `bestNumCoins[m] = inf` (infinity) to represent initially an impossible large number of coins.
3. **Inner Loop (1 to d):**
- Iterate over each coin denomination.
- **Check Condition:**
- If the current amount \( m \) is greater than or equal to the coin denomination \( c[i] \):
- Compare and update the best number of coins:
```
if bestNumCoins[m-c[i]] + 1 < bestNumCoins[m]:
bestNumCoins[m] = bestNumCoins[m-c[i]] + 1
```
- This checks if using the current coin \( c[i] \) results in fewer coins than previously computed for amount \( m \).
4. **Return Result:**
- Return `bestNumCoins[M]` which contains the minimum number of coins needed for amount \( M \).
### Questions:
a) **Convert this pseudocode to Python.**
```python
def DPChange(M, c):
bestNumCoins = [float('inf')] * (M + 1)
bestNumCoins[0] = 0
for m in range(1, M + 1):
for coin in c:
if m >= coin:
if bestNumCoins[m - coin] + 1 < bestNumCoins[m]:
bestNumCoins[m] = bestNumCoins[m - coin] + 1
return bestNumCoins[M]
```
b) **What is the runtime of this algorithm?**
The runtime of this algorithm is \( O(M \cdot d) \) where \( M \) is the amount for which we are making change and \( d \) is the number of different coin denominations. This is because for each amount up to \( M \), we iterate through each denomination.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 2 steps

Knowledge Booster
Similar questions
- Complete the exercise described in the attached document. Algorithm Exercise.docx Rubric: 1-Uses pseudo code not actual code 1-Includes prompt output steps before input steps 1-Calculates p 1-Calculates A Assume that there is an available function that will calculate the square root of a value use the name SQRT() https://quincy.instructure.com/courses/15140/files/1261838/download?verifier=pHUEAZhXer74z5lq0g563Ijk84PHhv34VOUZxuzH&wrap=1arrow_forwardThis article discusses the differences between a version, a revision, a baseline, and a release.arrow_forwardMt noy Modify the Octave script that you wrote for Task 1 to generate the following figure. It may look difficult at first, but if you really understand the code that you wrote for Task 1, it shouldn't be that difficult to generate the figure below.arrow_forward
Recommended textbooks for you
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY

Computer Networking: A Top-Down Approach (7th Edi...
Computer Engineering
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:PEARSON

Computer Organization and Design MIPS Edition, Fi...
Computer Engineering
ISBN:9780124077263
Author:David A. Patterson, John L. Hennessy
Publisher:Elsevier Science

Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:9781337569330
Author:Jill West, Tamara Dean, Jean Andrews
Publisher:Cengage Learning

Concepts of Database Management
Computer Engineering
ISBN:9781337093422
Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:Cengage Learning

Prelude to Programming
Computer Engineering
ISBN:9780133750423
Author:VENIT, Stewart
Publisher:Pearson Education

Sc Business Data Communications and Networking, T...
Computer Engineering
ISBN:9781119368830
Author:FITZGERALD
Publisher:WILEY