联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codehelp

您当前位置:首页 >> OS程序OS程序

日期:2021-05-17 08:11

Assignment: Graph Algorithms - I
1. Write BFS and DFS for a graph: What would be BFS and DFS traversal for the below graphs.
Write the nodes for BFS and DFS. Start at node A.
2. Apply BFS/DFS to solve a problem
You are given a 3-D puzzle. The length and breadth of the puzzle is given by a 2D matrix
puzzle[m][n]. The height of each cell is given by the value of each cell, the value of
puzzle[row][column] give the height of the cell [row][column]. You are at [0][0] cell and you
want to reach to the bottom right cell [m-1][n-1], the destination cell. You can move either
up, down, left, or right. Write an algorithm to reach the destination cell with minimal effort.
How effort is defined: The effort of route is the maximum absolute difference between two
consecutive cells.
Example if a route requires us to cross heights: 1, 3, 4, 6, 3, 1
The absolute differences between consecutive cells is: |1-3| = 2, |3-4|=1, |4-6|=2,
|6-3|=3, |3-1|=2; this gives us the values: {2, 1, 2, 3, 2}. The maximum value of
these absolute differences is 3. Hence the effort required on this path will be: 3.
Example:
Input: puzzle[][] = [[1, 3, 5], [2, 8, 3], [3, 4, 5]]
Output: 1
Explanation: The minimal effort route would be [1, 2, 3, 4, 5] which has an effort of
value 1. This is better than other routes for instance, route [1, 3, 5, 3, 5] which has
an effort of 2.
1 3 5
2 8 3
3 4 5
a. Describe the solution to the problem
b. Write pseudocode for your solution
c. Implement the algorithm. Name your function minEffort(puzzle). Name your file
MinPuzzle.py
d. What is the time complexity of your implementation?
3. Analyze Dijkstra with negative edges: Analyze with a sample graph and show why Dijkstra
does not work with negative edges. Give the sample graph and write your explanation why
Dijkstra would not work in this case.
4. (Extra Credit): What would be BFS and DFS traversal in below puzzle. Start at node A.
A B C
D E
F G
H I J
Debriefing (required!): --------------------------
Report:
1. Approximately how many hours did you spend on this assignment?
2. Would you rate it as easy, moderate, or difficult?
3. How deeply do you feel you understand the material it covers (0%–100%)?
4. Any other comments?
Note: ‘Debriefing’ section is intended to help us calibrate the assignments.

版权所有:留学生编程辅导网 2021,All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。