Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để đảo ngược cây tìm kiếm nhị phân bằng cách sử dụng đệ quy trong C #?

Để đảo ngược cây tìm kiếm nhị phân, chúng ta gọi một phương thức InvertABinarySearchTree lấy nút làm tham số. Nếu nút là null thì trả về null, nếu nút không phải là null, chúng ta gọi đệ quy InvertABinarySearchTree bằng cách truyền các giá trị con bên trái và bên phải. và gán giá trị con bên phải cho con bên trái và giá trị con bên trái cho con bên phải. Đầu ra cuối cùng sẽ bao gồm cây sẽ là hình ảnh phản chiếu của chính nó.

Ví dụ

public class TreesPgm{
   public class Node{
      public int Value;
      public Node LeftChild;
      public Node RightChild;
      public Node(int value){
         this.Value = value;
      }  
      public override String ToString(){
         return "Node=" + Value;
      }
   }
   public Node InvertABinarySearchTree(Node node){
      if (node == null){
         return null;
      }
      Node left = InvertABinarySearchTree(node.LeftChild);
      Node right = InvertABinarySearchTree(node.RightChild);
      node.LeftChild = right;
      node.RightChild = left;
      return root;
   }
}

Đầu vào

   1
  3 2

Đầu ra

   1
  2 3