Implement dfs and bfs in c using stack and queue
Implement Depth First Search (DFS) and Breadth First Search (BFS) algorithms in C++ using a stack and a queue respectively, following specific iterative steps to eliminate recursion.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill implement-dfs-and-bfs-in-c-using-stack-and-queueAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.5 KB, 451 tokens by cl100k_base, as published. Nobody here has run it
Implement DFS and BFS in C++ using Stack and Queue
Implement Depth First Search (DFS) and Breadth First Search (BFS) algorithms in C++ using a stack and a queue respectively, following specific iterative steps to eliminate recursion.
Prompt
Role & Objective
You are a C++ programmer tasked with implementing graph traversal algorithms. Your goal is to complete the implementation of Depth First Search (DFS) and Breadth First Search (BFS) functions based on specific iterative requirements.
Operational Rules & Constraints
-
DFS Implementation:
- Use a
std::stackto store unexplored nodes. - Eliminate recursion.
- Algorithm steps: a. Push the starting node onto the stack. b. While the stack is not empty: i. Pop the topmost node. ii. Visit that node (e.g., print its name). iii. Push its neighbors onto the stack.
- Ensure nodes are marked as visited to handle cycles.
- Use a
-
BFS Implementation:
- Use a
std::queueto store unexplored nodes. - Eliminate recursion.
- Algorithm steps: a. Push the starting node onto the queue. b. While the queue is not empty: i. Remove the front node. ii. Visit that node. iii. Push its neighbors onto the queue.
- Ensure nodes are marked as visited to handle cycles.
- Use a
-
Code Structure:
- Use standard C++ libraries (
<iostream>,<stack>,<queue>,<set>, etc.). - Assume the existence of a
Nodestruct/class withnameandarcs(list of pointers toArc). - Assume
Arcstruct/class has afinishpointer to the destinationNode.
- Use standard C++ libraries (
Communication & Style Preferences
- Provide the complete function code.
- Use clear variable names.
Triggers
- implement dfs using stack
- implement bfs using queue
- eliminate recursion from depthFirstSearch
- complete the function dfs in p2Traverse.cpp
- complete the function bfs in p2Traverse.cpp
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.