Backtracking, Branch and Bound, Greedy Method Quiz

VirtuousGenre avatar
VirtuousGenre
·
·
Download

Start Quiz

Study Flashcards

15 Questions

What is the significance of TCP sliding window in ensuring reliable data transfer?

The TCP sliding window allows for efficient flow control by regulating the amount of data sent before receiving an acknowledgment.

Explain the working principles of the ALOHA protocol.

ALOHA is a random access protocol where each station can transmit data at any time. It is simple but inefficient due to collisions.

What is the optimality principle in routing and how does it differ between circuit and packet switching?

The optimality principle aims to choose the best path for data transmission. In circuit switching, the path is fixed, while in packet switching, it can vary based on network conditions.

Define flooding and multicast in network communication.

Flooding is a technique where data is sent to all network nodes, while multicast is a method to send data to a specific group of nodes.

Describe and justify Kruskal’s algorithm for finding the minimum spanning tree of an undirected graph.

Kruskal's algorithm is a greedy algorithm that finds a minimum spanning tree for a connected weighted graph by sorting the edges by weight and adding them one by one to the spanning tree, ensuring no cycles are formed.

Explain the algorithm for finding the length of the Longest Common Subsequence (LCS).

The algorithm for finding the length of LCS involves dynamic programming to build a table of lengths of common subsequences for the given sequences, and then tracing back to find the actual LCS.

Find the shortest path from the source vertex S in the given graph G using Bellman-Ford algorithm.

The Bellman-Ford algorithm is used to find the shortest path from a single source vertex to all other vertices in a weighted graph. It can handle negative edge weights but detects negative cycles if present.

What is the difference between the Backtracking algorithm and the Branch and Bound algorithm?

Backtracking explores all potential solutions, while Branch and Bound algorithm explores only the most promising solutions.

State three properties of the Greedy Method.

  1. Greedy Choice Property. 2. Optimal Substructure. 3. Overlapping Subproblems.

Define Disjoint Set and write the supported operations by the algorithm.

Disjoint Set is a data structure that keeps track of a set of elements partitioned into disjoint subsets. Supported operations: Union and Find.

Differentiate between Deterministic and Nondeterministic algorithms and Greedy methods.

Deterministic algorithms have a single valid computation path, while Nondeterministic algorithms have multiple possible paths. Greedy methods make locally optimal choices at each step.

Differentiate between Dynamic Programming and the Shortest Path problem in a graph with n-vertices.

Dynamic Programming breaks down problems into simpler subproblems and stores their solutions for future reference. The Shortest Path problem aims to find the shortest path between two vertices in a graph.

What is the time complexity for finding 'n' and 'e' edges?

The time complexity for finding 'n' edges is O(n), and for finding 'e' edges is O(e).

Define an Algorithm and describe the criteria that it must satisfy.

An Algorithm is a step-by-step procedure to solve a problem. It must be correct, have defined inputs and outputs, be finite, and produce a solution for all valid inputs.

Explain how a maximum flow in a network with 'm' edges can be computed in O(m) time.

By using the Ford-Fulkerson algorithm, a maximum flow in a network with 'm' edges can be computed in O(m) time complexity.

Study Notes

Reliable Data Transfer with TCP Sliding Window

  • TCP sliding window ensures reliable data transfer by allowing the sender to transmit multiple packets before waiting for an acknowledgment from the receiver.
  • It helps to improve network efficiency by reducing the number of acknowledgments and increasing the amount of data transmitted.

ALOHA Protocol

  • ALOHA is a protocol used for multiple access in a network.
  • It works by allowing each node to transmit data at any time, but if a collision occurs, the nodes wait for a random time before retransmitting.
  • Pure ALOHA and Slotted ALOHA are two variations of the protocol, with Slotted ALOHA being more efficient.

Optimality Principle in Routing

  • The optimality principle in routing states that the best path to a destination is the one that minimizes the total cost or distance.
  • In circuit switching, the optimality principle is used to establish a dedicated connection for the entire duration of the communication.
  • In packet switching, the optimality principle is used to route each packet individually, allowing for more flexibility and adaptability.

Flooding and Multicast

  • Flooding is a technique used to send a packet to every node in a network, which can be inefficient and cause network congestion.
  • Multicast is a technique used to send a packet to a group of nodes in a network, reducing network traffic and improving efficiency.

Kruskal's Algorithm

  • Kruskal's algorithm is used to find the minimum spanning tree of an undirected graph.
  • It works by sorting the edges of the graph in non-decreasing order and then selecting the edges that do not form a cycle.
  • The algorithm is justified because it ensures that the total weight of the selected edges is minimum.

Longest Common Subsequence (LCS)

  • The LCS algorithm is used to find the longest common subsequence of two strings.
  • The algorithm works by building a matrix and filling it in a bottom-up manner, with the final answer being the top-right element of the matrix.

Bellman-Ford Algorithm

  • The Bellman-Ford algorithm is used to find the shortest path from a source vertex to all other vertices in a graph.
  • It works by relaxing the edges of the graph and updating the distances of the vertices.
  • The algorithm can handle negative weight edges and detects negative weight cycles.

Backtracking and Branch and Bound Algorithms

  • The Backtracking algorithm is used to find a solution by recursively exploring all possible solutions.
  • The Branch and Bound algorithm is used to find a solution by recursively exploring all possible solutions and bounding the search space.
  • The key difference between the two algorithms is that Branch and Bound uses bounding to prune the search space.

Greedy Method

  • The Greedy Method is a technique used to find a solution by making the locally optimal choice at each step.
  • Three properties of the Greedy Method are:
    • Optimal substructure: the problem can be broken down into smaller subproblems.
    • Greedy choice: the locally optimal choice is made at each step.
    • Feasibility: the solution is feasible at each step.

Disjoint Set

  • A Disjoint Set is a data structure used to keep track of a set of disjoint sets.
  • Supported operations by the algorithm are:
    • MakeSet: creates a new set.
    • Find: finds the representative of the set.
    • Union: merges two sets.

Deterministic and Nondeterministic Algorithms

  • Deterministic algorithms are algorithms that always produce the same output for a given input.
  • Nondeterministic algorithms are algorithms that may produce different outputs for a given input.
  • Greedy methods are generally deterministic, but may not always produce the optimal solution.

Dynamic Programming and Shortest Path Problem

  • Dynamic Programming is a technique used to solve problems by breaking them down into smaller subproblems and solving each subproblem only once.
  • The Shortest Path problem is a problem of finding the shortest path between two vertices in a graph.
  • Dynamic Programming can be used to solve the Shortest Path problem by building a table and filling it in a bottom-up manner.

Time Complexity

  • The time complexity for finding 'n' and 'e' edges is O(n + e), where 'n' is the number of vertices and 'e' is the number of edges.

Algorithm

  • An algorithm is a well-defined procedure that takes some input and produces a corresponding output.
  • An algorithm must satisfy the following criteria:
    • Finiteness: the algorithm must terminate after a finite number of steps.
    • Definiteness: the algorithm must be well-defined and produce the same output for a given input.
    • Effectiveness: the algorithm must be efficient and produce the output in a reasonable amount of time.
    • Correctness: the algorithm must produce the correct output for a given input.

Maximum Flow Problem

  • The maximum flow problem is a problem of finding the maximum flow that can be sent from a source vertex to a sink vertex in a network.
  • The maximum flow can be computed in O(m) time using the Ford-Fulkerson algorithm, where 'm' is the number of edges.

Test your knowledge on backtracking, branch and bound algorithms, and greedy method. Questions cover differences between the algorithms, properties of greedy method, disjoint set, deterministic and nondeterministic methods, dynamic programming, and finding shortest paths in graphs.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Backtracking
10 questions

Backtracking

ChivalrousSmokyQuartz avatar
ChivalrousSmokyQuartz
Backtracking Algorithms
5 questions

Backtracking Algorithms

SeamlessGyrolite3342 avatar
SeamlessGyrolite3342
Backtracking Algorithms in Python
10 questions
Use Quizgecko on...
Browser
Browser