非递归深度优先搜索算法【已关闭】
非递归深度优先搜索算法【已关闭】
已关闭。这个问题需要更加专注。它目前不接受回答。
想改进这个问题?通过编辑这个帖子使其专注于一个问题。
社区评估了是否重新开放这个问题11个月之前并将其关闭:
原来的关闭原因没有得到解决
我正在寻找一种用于非二叉树的非递归深度优先搜索算法。非常感谢任何帮助。
admin 更改状态以发布 2023年5月21日
DFS:
list nodes_to_visit = {root}; while( nodes_to_visit isn't empty ) { currentnode = nodes_to_visit.take_first(); nodes_to_visit.prepend( currentnode.children ); //do something }
BFS:
list nodes_to_visit = {root}; while( nodes_to_visit isn't empty ) { currentnode = nodes_to_visit.take_first(); nodes_to_visit.append( currentnode.children ); //do something }
这两者的对称性非常酷。
更新:如指出的那样,take_first()
从列表中移除并返回第一个元素。