Introduction to Algorithms
3rd Edition
ISBN: 9780262033848
Author: Thomas H. Cormen, Ronald L. Rivest, Charles E. Leiserson, Clifford Stein
Publisher: MIT Press
expand_more
expand_more
format_list_bulleted
Question
Chapter 15, Problem 4P
Program Plan Intro
To give an
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
True or False
1. Matrices are often represented by single small letters a, b, c... etc.2. Two m x n matrices A and B are equal if aij=bij for each i & j. (i.e., the two matrices havesame size, and all the corresponding elements are equal).3. Matrices A & B are said to be conformable in the order AB if, and only if, the number ofrows in A is equal to the number of columns in B.4. Suppose Matrix A is having 4 rows and 3 columns, and Matrix B is having 3 rows and 2columns. The product size of AB is a 4 x 2 matrix.5. Suppose B is the matrix obtained from an n x n matrix A by multiplying the entries in arow/column by a non-zero constant and adding the result to the corresponding entries inanother row/column. Then, det(B) = det(A).
The coordinates of a polygon can be represented as a list of tuples: [(x1, y1), (x2, y2), .., (xn, yn)], where (x1, y1), ., (xn, yn) are points of the polygon in a counterclockwise order.
Find the area of such a polygon using using shoelace formula. It is no longer required to take absolute value.
п-1
п—1
A =
> xi+1Yi ) – x1Yn
i=1
i=1
1
x142 + x2Y3 + + xn-1Yn + xnY1 - x2y1 – X3Y2 – ··- xn Yn-1 – x1Yn|
>>> area ([(0,0), (1,0), (0,1)])
0.5
>>> area ([(0,0), (1,0),(1,1),(0,1)])
1.0
>> area([(0,0),(2,0), (2,2),(1,2), (0,1)])
3.5
Write the function area(C) to find the area of a triangle with vertices at c = [(x1, y1), (x2, y2),..., (xn, yn)].
Q.
Given a 2d grid map of '1's (land) and '0's (water),count the number of islands.An island is surrounded by water and is formed byconnecting adjacent lands horizontally or vertically.You may assume all four edges of the grid are all surrounded by water.
Example 1:
11110110101100000000Answer: 1
Example 2:
11000110000010000011Answer: 3"""
def num_islands(grid): count = 0 for i in range(len(grid)): for j, col in enumerate(grid[i]): if col == 1: dfs(grid, i, j) count += 1
Please code it. .
Chapter 15 Solutions
Introduction to Algorithms
Ch. 15.1 - Prob. 1ECh. 15.1 - Prob. 2ECh. 15.1 - Prob. 3ECh. 15.1 - Prob. 4ECh. 15.1 - Prob. 5ECh. 15.2 - Prob. 1ECh. 15.2 - Prob. 2ECh. 15.2 - Prob. 3ECh. 15.2 - Prob. 4ECh. 15.2 - Prob. 5E
Ch. 15.2 - Prob. 6ECh. 15.3 - Prob. 1ECh. 15.3 - Prob. 2ECh. 15.3 - Prob. 3ECh. 15.3 - Prob. 4ECh. 15.3 - Prob. 5ECh. 15.3 - Prob. 6ECh. 15.4 - Prob. 1ECh. 15.4 - Prob. 2ECh. 15.4 - Prob. 3ECh. 15.4 - Prob. 4ECh. 15.4 - Prob. 5ECh. 15.4 - Prob. 6ECh. 15.5 - Prob. 1ECh. 15.5 - Prob. 2ECh. 15.5 - Prob. 3ECh. 15.5 - Prob. 4ECh. 15 - Prob. 1PCh. 15 - Prob. 2PCh. 15 - Prob. 3PCh. 15 - Prob. 4PCh. 15 - Prob. 5PCh. 15 - Prob. 6PCh. 15 - Prob. 7PCh. 15 - Prob. 8PCh. 15 - Prob. 9PCh. 15 - Prob. 10PCh. 15 - Prob. 11PCh. 15 - Prob. 12P
Knowledge Booster
Similar questions
- The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are summed and the process is repeated. This is continued as long as necessary to obtain a single digit. For example, consider the positive integer 24. Adding the 2 and the 4 yields a value of 6. Since 6 is a single digit, 6 is the digital root of 24. Now consider the positive integer 39. Adding the 3 and the 9 yields 12. Since 12 is not a single digit, the process must be repeated. Adding the 1 and the 2 yields 3, a single digit and also the digital root of 39. Input File: The input file will contain a list of positive integers, one per line. The end of the input will be indicated by an integer value of zero. Output File: For each integer in the input, output its digital root on a separate line of the output. Example Input: 24 39…arrow_forward1. A set of integers are relatively prime to each other if there is no integer greater than 1 that divides all the elements. Furthermore, in Number Theory, it is known that the Euler function,ϕ (n), expresses the number of positive integers less than n that are relatively prime with n. Choose the alternative that has the correct value of ϕ(n) for every n below. A) ϕ(5) = 4 B) ϕ(6) = 2 C) ϕ(10) = 3 D) ϕ(14) = 6 E) ϕ(17) = 16arrow_forwardAlthough the plot function is designed primarily for plotting standard xy graphs, it can be adapted for other kinds of plotting as well. b. Make a plot of the curve, which is defined parametrically by the equations x = 2cosθ + cos2θ, y = 2sinθ - sin2θ, where 0 < θ < 2π. Take a set of values of θ between zero and 2π and calculate x and y for each from the equations above, then plot y as a function of x. b. Taking this approach a step further, one can make a polar plot r = f(θ) for some function f by calculating r for a range of values of θ and then converting r and θ to Cartesian coordinates using the standard equations x = r cosθ, y = r sinθ. Use this method to make a plot of the function r = ecosθ – 2 cos(4θ) + sin5 (θ/12) in the range 0 <= θ <= 24π. use python code to answer the highlight onearrow_forward
- A robot moves in a 2D lattice. The robot can only move north (N), south (S), east (E), and west (W) by a certain number of steps. Assume that the robot always starts at (0,0), and that the x axis is oriented east, while the y axis is oriented north. Write a Python function that, given a set of moves, calculates the final position of the robot. For example, if the set of moves provided as input is: N 2 E 4 S 1 W 3 then the final position of the robot is (1,1). The integer that follows a move is always positive. Follow this code skeleton: def robot_move (moves): X = 0 y = 0 # your code here return (x,y) The moves are provided as an array of tuples. The array can have any number of moves in any order. The example above is passed as input as follows: [('N',2), ('E',4), ('S',1), ('W',3)]arrow_forwardA decreasing sequence of numbers is a sequence of integers where every integer in the sequence is smaller than all other previous integers in that sequence. For example, •35, 16, 7, 2, 0, -3, -9 is a decreasing sequence of numbers. The length of this sequence is 7 (total numbers in the sequence) and the difference of this sequence is 35 - (-9) -44. • 5 is a decreasing sequence of numbers with length 1 and difference 5-5 = 0 •99,-99 is a decreasing sequence of numbers with length 2 and difference 99-(-99) = 198 •17, 23, 11, 8, -5, -3 is not a decreasing sequence of %3D numbers. Write a program that contains a main() function. The main function repeatedly asks the user to enter an integer if the previously entered integers form a decreasing sequence of numbers. This process stops as soon as the latest user input breaks the decreasing sequence. Then your function should print the length and difference of the decreasing sequence. Finally, call the main() function such that the call will be…arrow_forwardThe compass gradient operators of size 3x3 are designed to measure gradients of edges oriented in eight directions: E, NE, N, NW, W, SW, S, and SE. i) Give the form of these eight operators using coefficients valued 0, 1 or – 1. ii) Specify the gradient vector direction of each mask, keeping in mind that the gradient direction is orthogonal to the edge direction.arrow_forward
- You are the chief commander of US Army; you have been deployed in an ongoing war training of defusing the mine. Mines are placed on the ground which can be considered as a gird of size N*M. Each block (i, j) has a mine in it if and only if the summation of the block coordinates is divisible by 2. Your task is to move from the first row to the last row. The mines will not blow if the given rules are followed: • If you are on even row you can move to any cell that is in the neighborhood • If you are on odd row, you can only go the odd row that has mine on that and same with the unmined row. You have to develop a python program to calculate the number of ways to reach row number N starting from row number 1. Test Cases: 4 8 Output: 10arrow_forwardWrite a program that generates a 6-by-6 two-dimensionalmatrix filled with 0s and 1s, displays the matrix, and checks if every row andevery column have an even number of 1s.arrow_forwardImagine there are N teams competing in a tournament, and that each team plays each of the other teams once. If a tournament were to take place, it should be demonstrated (using an example) that every team would lose to at least one other team in the tournament.arrow_forward
- Let L be a line in the xy plane. If L is a vertical line, its equation is x=afor some real number a. Suppose L is not a vertical line and its slope is m. Then the equation of L is y=mx + b, where b is the y-intercept. If L passes through the point (x0,y0), the equation of L can be written as y –y0=m(x –x0). If (x1,y1)and (x2,y2)are two points in the xy plane and x1≠x2, the slope of the line passing through these points is m = (y2-y1)/ (x2-x1). Write a program that prompts the user to enter two points in the xy plane. The program outputs the equation of theline and uses ifstatements to determine and output whether the line is vertical, horizontal, increasing, or decreasing. If L is a nonvertical line, output its equation in the form y=mx + b.arrow_forwardYou are a computer research scientist at Tesla, and your task is to create a computer vision application for self-driving cars to detect object and avoid collision. You know that Graham's scan is a method of computing the convex hull of a finite set of points in the plane. You decide to apply this algorithm to achieve the goal of your task. a) Suppose Graham's scan executes n points, where n >= 3. Prove that, at the end of the program, the stack S consists of, from bottom to top, exactly the vertices of convex hull in counter-clockwise order.arrow_forwardGiven two arrays A and B of equal size N, the task is to find if given arrays are equal or not. Two arrays are said to be equal if both of them contain same set of elements, arrangements (or permutation) of elements may be different though.Note : If there are repetitions, then counts of repeated elements must also be same for two array to be equal. Example 1: Input: N = 5 A[] = {1,2,5,4,0} B[] = {2,4,5,0,1} Output: 1.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning