cuốn sách gpt4 ai đã làm

Lặp lại n độ sâu trong cấu trúc cây

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 09:57:41 29 4
mua khóa gpt4 Nike

Làm cách nào để lập trình một trình vòng lặp độ sâu n trên cấu trúc giống như cây? Trong thư mục gốc tôi có

Danh sách

Mỗi nút có

Bản đồ> 

độ sâu n+1.

Tôi đã sửa 1 độ sâu:

// SÂU 1
nodeData.forEach(baseNode -> {
baseNode.getChildNodes().entrySet().forEach(baseNodeChildeNodes -> {
genCombOnePass(baseNodeChildeNodes, 2);
});
});

// SÂU 2
nodeData.forEach(baseNode -> {
baseNode.getChildNodes().entrySet().forEach(baseNodeChildeNodes -> {
baseNodeChildeNodes.getValue().forEach(childNodeEs -> {
childNodeEs.getChildNodes().entrySet().forEach(childNode -> {
genCombOnePass(childNode, 3);
});
});
});
});

Nhưng tôi cần phải lặp lại trước. Độ sâu 1-9.

câu trả lời hay nhất

Bạn cần một số loại hàm đệ quy để đạt được những gì bạn muốn:

static void deepTraversal(Nút gốc, độ sâu int, int maxDepth) {
if (độ sâu == maxDepth) { // nếu bạn đạt mức tối đa - thoát
return;
}
if (root == null || root.getChildNodes() == null) { // nếu bạn đạt null child - exit
return;
}
root.getChildNodes().forEach((key, value) -> value.forEach(node ​​​​-> {
// làm những gì bạn cần với các nút của mình
deepTraversal(node, Depth + 1, maxDepth); // chuyển sang cấp độ tiếp theo theo cách đệ quy
}));
}

Về java - lặp lại n độ sâu trong cấu trúc cây, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/53911366/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress