patternMajor
What is the meaning of 'breadth' in breadth first search?
Viewed 0 times
meaningthewhatsearchbreadthfirst
Problem
I was learning about breadth first search and a question came in my mind that why BFS is called so. In the book Introduction to Algorithms by CLRS, I read the following reason for this:
Breadth-first search is so named because it expands the frontier
between discovered and undiscovered vertices uniformly across the
breadth of the frontier.
However, I'm not able to understand the meaning of this statement. I'm confused about this word "frontier" and breadth of that frontier.
So, can someone please answer this question in a way which is easy to understand for a beginner like me?
Breadth-first search is so named because it expands the frontier
between discovered and undiscovered vertices uniformly across the
breadth of the frontier.
However, I'm not able to understand the meaning of this statement. I'm confused about this word "frontier" and breadth of that frontier.
So, can someone please answer this question in a way which is easy to understand for a beginner like me?
Solution
Consider the data structure used to represent the search. In a BFS, you use a queue. If you come across an unseen node, you add it to the queue.
The “frontier” is the set of all nodes in the search data structure. The queue will will iterate through all nodes on the frontier sequentially, thus iterating across the breadth of the frontier. DFS will always pop the most recently discovered state off of the stack, thus always iterating over the deepest part of the frontier.
Consider the image below. Notice how the DFS goes straight to the deepest parts of the tree whereas BFS iterates over the breadth of each level.
Image here
The “frontier” is the set of all nodes in the search data structure. The queue will will iterate through all nodes on the frontier sequentially, thus iterating across the breadth of the frontier. DFS will always pop the most recently discovered state off of the stack, thus always iterating over the deepest part of the frontier.
Consider the image below. Notice how the DFS goes straight to the deepest parts of the tree whereas BFS iterates over the breadth of each level.
Image here
Context
StackExchange Computer Science Q#107187, answer score: 23
Revisions (0)
No revisions yet.