Trong khi duyệt MooTools 1. 2, tôi đã tìm thấy phương thức
The Inorder traversal after flattening binary tree 1 2 3 4 5 61 của Array. Phương thức
The Inorder traversal after flattening binary tree 1 2 3 4 5 61 lấy các mảng lồng nhau và "làm phẳng" tất cả chúng thành một mảng. Tôi đã tự hỏi làm thế nào tôi có thể làm điều đó bằng cách sử dụng PHP. Sau đây là những gì tôi nghĩ ra
PHP
$myarray = array['a', 'b', array[array[array['x'], 'y', 'z']], array[array['p']]]; function array_flatten[$array,$return] { for[$x = 0; $x a [1] => b [2] => x [3] => y [4] => z [5] => p ]
Như bạn có thể thấy,
The Inorder traversal after flattening binary tree 1 2 3 4 5 63 được sử dụng đệ quy để tìm ra các giá trị từ mảng ban đầu. Mặc dù tôi không tin rằng mình đã từng thấy mình có một mảng được lồng vào nhau như ví dụ của tôi, nhưng thật tốt khi biết rằng tôi có thể trích xuất các giá trị nếu cần
Gói php để làm phẳng các đối tượng json lồng nhau và các mảng lồng nhau. Nó cũng cho phép bạn tạo các tệp csv từ dữ liệu đã được làm phẳng
Chuyển đến Tải xuống
anahkiasen/làm phẳng
340 người yêu thích
12998 lượt tải xuống
Một gói dành cho khung Illuminate làm phẳng các trang thành HTML đơn giản
Chuyển đến Tải xuống
Ashleydawson/canonical-flatten-tree
Hàm thuần túy để làm phẳng một cây [mảng n chiều] thành một mảng danh sách được chuẩn hóa
Chuyển đến Tải xuống
te-cho/compile-blades
Gói Laravel để biên dịch các lưỡi được lồng trong 1 tệp thành 1 tệp phẳng
Chuyển đến Tải xuống
pflorek/thang máy
Làm phẳng mảng nhiều chiều hoặc bất kỳ \Traversable nào thành mảng một chiều. Nâng cấp một chiều hoặc bất kỳ \Traversable nào thành mảng nhiều chiều
Đưa ra một cây nhị phân, làm phẳng nó thành danh sách được liên kết tại chỗ. Không được phép sử dụng cấu trúc dữ liệu phụ trợ. Sau khi làm phẳng, bên trái của mỗi nút sẽ trỏ đến NULL và bên phải sẽ chứa nút tiếp theo theo thứ tự trước
ví dụ.
Input : 1 / \ 2 5 / \ \ 3 4 6 Output : 1 \ 2 \ 3 \ 4 \ 5 \ 6 Input : 1 / \ 3 4 / 2 \ 5 Output : 1 \ 3 \ 4 \ 2 \ 5
Đề nghị thực hành
Làm phẳng cây nhị phân thành danh sách liên kết
Thử nó
Cách tiếp cận đơn giản. Một giải pháp đơn giản là sử dụng Level Order Traversal using Queue. Trong giao dịch theo thứ tự cấp độ, hãy theo dõi nút trước đó. Đặt nút hiện tại là con phải của nút trước và bên trái của nút trước đó là NULL. Giải pháp này yêu cầu hàng đợi, nhưng câu hỏi yêu cầu giải quyết mà không cần cấu trúc dữ liệu bổ sung
Hiệu quả mà không cần cấu trúc dữ liệu bổ sung Tìm kiếm đệ quy nút không có cháu và cả con trái và con phải trong cây con bên trái. Sau đó lưu trữ node->right trong temp và tạo node->right=node->left. Chèn tạm thời vào nút đầu tiên NULL ở bên phải của nút bằng nút = nút-> phải. Lặp lại cho đến khi nó được chuyển thành danh sách liên kết.
Ví dụ,
Thực hiện
C++
The Inorder traversal after flattening binary tree 1 2 3 4 5 64
The Inorder traversal after flattening binary tree 1 2 3 4 5 65
The Inorder traversal after flattening binary tree 1 2 3 4 5 66
The Inorder traversal after flattening binary tree 1 2 3 4 5 67
The Inorder traversal after flattening binary tree 1 2 3 4 5 68
The Inorder traversal after flattening binary tree 1 2 3 4 5 69
The Inorder traversal after flattening binary tree 1 2 3 4 5 60
The Inorder traversal after flattening binary tree 1 2 3 4 5 60
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 62
The Inorder traversal after flattening binary tree 1 2 3 4 5 63
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 65
The Inorder traversal after flattening binary tree 1 2 3 4 5 66
The Inorder traversal after flattening binary tree 1 2 3 4 5 67
The Inorder traversal after flattening binary tree 1 2 3 4 5 68
The Inorder traversal after flattening binary tree 1 2 3 4 5 62
The Inorder traversal after flattening binary tree 1 2 3 4 5 60
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 63
The Inorder traversal after flattening binary tree 1 2 3 4 5 64
The Inorder traversal after flattening binary tree 1 2 3 4 5 65
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 67
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 69
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 641
The Inorder traversal after flattening binary tree 1 2 3 4 5 642
The Inorder traversal after flattening binary tree 1 2 3 4 5 643
The Inorder traversal after flattening binary tree 1 2 3 4 5 644
The Inorder traversal after flattening binary tree 1 2 3 4 5 645
The Inorder traversal after flattening binary tree 1 2 3 4 5 646
________ 347 ________ 348 ________ 40 ________ 350
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 653
The Inorder traversal after flattening binary tree 1 2 3 4 5 61____355
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 657
The Inorder traversal after flattening binary tree 1 2 3 4 5 658
________ 359 ________ 341 ________ 361
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 663
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 665
The Inorder traversal after flattening binary tree 1 2 3 4 5 61
The Inorder traversal after flattening binary tree 1 2 3 4 5 657
The Inorder traversal after flattening binary tree 1 2 3 4 5 6675
The Inorder traversal after flattening binary tree 1 2 3 4 5 6630
The Inorder traversal after flattening binary tree 1 2 3 4 5 6630
The Inorder traversal after flattening binary tree 1 2 3 4 5 6636
The Inorder traversal after flattening binary tree 1 2 3 4 5 6679
The Inorder traversal after flattening binary tree 1 2 3 4 5 6680
The Inorder traversal after flattening binary tree 1 2 3 4 5 6630
The Inorder traversal after flattening binary tree 1 2 3 4 5 6630
The Inorder traversal after flattening binary tree 1 2 3 4 5 6636
The Inorder traversal after flattening binary tree 1 2 3 4 5 6684