Điều này có thể rất ngây thơ, nhưng tôi đã tự hỏi, đó là bối cảnh của cây nhị phân (đơn giản, được sắp xếp và cân bằng), của tất cả các loại truyền tải:
- đặt hàng trước sâu
- theo thứ tự chiều sâu
- độ sâu sau khi đặt hàng
- bề rộng đầu tiên
những tiện ích thực sự của những người trước và sau khi đặt hàng là gì? Ý tôi là, có một số loại và / hoặc cấu hình của cây nhị phân trong đó giao dịch trước và / hoặc sau đặt hàng sẽ mang lại (một số) lợi thế so với hai loại kia?
AFAICS, có một số loại và cấu hình nhất định của cây nhị phân mà theo thứ tự và chiều rộng đầu tiên có thể mang lại một lợi thế nhất định:
đối với cây nhị phân cân bằng, mọi giao dịch theo chiều sâu đầu tiên sẽ sử dụng ít không gian lưu trữ bộ nhớ hơn so với chiều rộng đầu tiên (ví dụ: đối với cây nhị phân cân bằng 6 hoặc 7 nút, chiều cao là 2 vì vậy bất kỳ giao dịch theo chiều sâu nào cũng cần lưu trữ tối đa 2 nút tại bất kỳ thời điểm nào, trong khi cấp độ cuối cùng có 3 hoặc 4 nút, do đó, giao dịch theo chiều rộng đầu tiên sẽ cần lưu trữ tối đa 3 hoặc 4 nút tại một số điểm). Trong trường hợp này, sử dụng truyền tải theo thứ tự sử dụng ít bộ nhớ nhất và truy cập các nút theo thứ tự tự nhiên của chúng.
đối với cây nhị phân không cân bằng, nếu nó gần với kịch bản chèn trường hợp xấu nhất, thì việc vượt qua nó theo chiều rộng đầu tiên sẽ sử dụng ít bộ nhớ hơn so với bất kỳ giao dịch theo chiều sâu nào. Vì vậy, trong trường hợp này chiều rộng đầu tiên cung cấp một lợi thế. Truyền tải theo thứ tự có một lần nữa lợi thế của việc truy cập các giá trị theo thứ tự tự nhiên của chúng.
Tuy nhiên, tôi không thể nghĩ đến một tình huống mà trước và sau khi truyền tải sẽ mang lại lợi thế hơn hai người kia.
A + B * C
, điều này dễ hiểu hơn nhiều đối với người dùng bình thường so với tiền tố của thứ tự postfix.