gpt4 book ai didi

python - "things to handle"设计模式有名称吗?

转载 作者:太空狗 更新时间:2023-10-30 00:57:46 28 4
gpt4 key购买 nike

有一种设计模式我偶尔会用到,但我不知道它叫什么。也许它有名字并且这里有人知道它?

当我想遍历一个树状结构并对它的所有节点执行一些操作时,我会使用它。它是这样的:

nodes_to_handle = [root_node]
while nodes_to_handle:
node = nodes_to_handle.pop()
# handle node
nodes_to_handle += node.get_neighbors()

请注意,结构不一定是树;例如,此模式可用于在数组中进行泛洪填充。

那么,这个设计模式有一个公认的名称吗?

最佳答案

我认为您得到的是比深度优先遍历更通用的模式:边界列表。边界列表是仍然需要处理的(已排序或未排序的)元素列表;该算法会继续删除元素并处理它们,直到列表为空或满足某些其他终止条件。

我最喜欢的这种模式示例是 dijkstra 算法。在 Dijkstra 中,边界列表是一个优先级队列或堆,每次迭代都会将最小值的元素从堆中弹出。

关于python - "things to handle"设计模式有名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com