Có một mẫu thiết kế tôi sử dụng một lần trong một thời gian và tôi không biết nó được gọi là gì. Có lẽ nó có một cái tên và ai đó ở đây biết điều đó?Có tên cho mẫu thiết kế "điều cần xử lý" không?
Đó là điều tôi sử dụng khi tôi muốn đi qua một cấu trúc giống cây và thực hiện một số thao tác trên tất cả các nút của nó. Nó có dạng như sau:
nodes_to_handle = [root_node]
while nodes_to_handle:
node = nodes_to_handle.pop()
# handle node
nodes_to_handle += node.get_neighbors()
Lưu ý rằng cấu trúc không phải là cây; ví dụ, mẫu này có thể được sử dụng để làm tràn ngập trong một mảng.
Vì vậy, có tên được chấp nhận cho mẫu thiết kế này không?
tìm kiếm rộng đầu tiên –
Làm thế nào là "chiều rộng đầu tiên"? Bạn đã nhìn vào mã? –
đúng, nó là 'nodes_to_handle.pop()' không 'nodes_to_handle.pop (0)', có nghĩa là 'nodes_to_handle' là một chồng, không phải là một hàng đợi, và do đó độ sâu đầu tiên của nó. –