Là đặt hàng trước theo thứ tự giống như Tìm kiếm đầu tiên sâu?


12

Đối với tôi, nó giống như giao dịch đặt hàng trước và DFS giống như trong cả hai trường hợp chúng ta đi từ gốc đến nhánh bên trái và trở lại gốc và sau đó đến nhánh bên phải theo cách đệ quy. Có thể xin vui lòng sửa chữa cho tôi nếu tôi sai?

Cảm ơn trước!

Câu trả lời:


10

traversal trước là một traversal, nó truy cập vào mọi nút trong cây nhị phân

Depth First Search là một tìm kiếm, nó đi xung quanh một biểu đồ tùy ý tìm kiếm một nút nhất định (nó hoạt động tốt nhất trong một biểu đồ không tuần hoàn (còn gọi là cây) là không liên quan)

chỉ riêng điều này là một sự khác biệt đủ lớn để gọi chúng là tên khác biệt


1
+1, nhưng tôi muốn thêm rằng các giao dịch trước và sau đơn hàng chỉ là trường hợp đặc biệt của chiến lược DFS tổng quát hơn.
Frank

1
Không đặt hàng trước truyền tải đơn giản có nghĩa là xử lý các nút trước khi con của họ? Trường hợp nó nói rằng các nút tạo thành một cây nhị phân, hoặc thậm chí là một cây?
Kilian Foth

@KilianFoth Tôi mong muốn hàm ý của một nút có con (trái ngược với hàng xóm) ngụ ý cấu trúc cây vì nó gợi ý một hệ thống phân cấp của các nút. Đỉnh của hệ thống phân cấp là gốc của cây. Nhưng tôi có thể tưởng tượng giao dịch đặt hàng trước và giao dịch theo thứ tự có ý nghĩa trên bất kỳ cây nào ngay cả những cây không phải là nhị phân.
YoungJohn

1

Có, nhưng nó phải theo cách ngược lại: DFStương tự như PreOrder.
Thuật ngữ PreOrdercó liên quan nhiều hơn đến cây nhị phân và trình phân tích cú pháp.
Nó được sử dụng để so sánh với đơn đặt hàng traversal khác của một cây nhị phân: InOrder, PostOrderPreOrder.
Topological Sort tương tự như traversal Post Order (đẩy nút thành stack sau khi truy cập tất cả các nút liền kề).


Suy nghĩ của tôi tương tự như câu trả lời này. Cụ thể hơn, đặt hàng trước là một triển khai cụ thể của danh mục mẹ của DFS. Đặt trước trẻ em đi ngang là cứng bên trái rồi phải; trong khi đối với DFS chung (cha mẹ), thứ tự truyền tải của trẻ em không được xác định và có thể là bất kỳ thứ tự nào.
Jerred S.

-1

Để duyệt qua cây nhị phân trong Preorder, các thao tác sau được thực hiện

  1. Truy cập thư mục gốc
  2. Đi qua cây con bên trái
  3. Đi qua cây con bên phải

Đó là trong hình ảnh dưới đây, giao dịch đặt hàng trước sẽ là, 1,2,3,6,4,5,7,8,9,10,11,12

Trong cùng một hình ảnh, 1,2,3,4,5,6,7,8,9,10,11,12 sẽ dành cho DFS

Nguồn DFS: http://datastructuresnotes.blogspot.in/2009/02/binary-tree-traversal-preorder-inorder.html

Nguồn đặt hàng trước: Wiki

DFS


9
Đây không phải là cây nhị phân. Đó là một cái cây, nhưng không phải là nhị phân.
Manoj R

Điều gì xảy ra khi "6" có các nút phụ?
Marjan Venema

Bạn đang yêu cầu DFS hoặc đặt hàng trước?
Zedaiq

@ManojR Có nó từ nguồn được đề cập ở trên.
Zedaiq

thứ tự trước trong biểu đồ này cho câu trả lời tương tự
Charles Chow
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.