Advertisement
jtentor

Árbol - EjercicioAVLTree.java

Nov 1st, 2020
887
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. // Created by Julio Tentor <jtentor@fi.unju.edu.ar>
  3. //
  4.  
  5. public class EjercicioAVLTree {
  6.  
  7.     public void Run() {
  8.         menu();
  9.     }
  10.  
  11.     private static void menu() {
  12.         int option;
  13.         while (true) {
  14.             System.out.print("\nOpciones:");
  15.             System.out.print("\n  1. Agregar con Rotación Simple LL");
  16.             System.out.print("\n  2. Agregar con Rotación Doble LR");
  17.             System.out.print("\n  3. Remover con Rotación Simple RR");
  18.             System.out.print("\n  4. Remover con Rotación Doble RR RL");
  19.             option = Helper.getInteger("\nSu opción (0 finaliza): ");
  20.             if (option == 0) {
  21.                 break;
  22.             }
  23.             switch (option) {
  24.                 case 1:
  25.                     addDemo1();
  26.                     break;
  27.                 case 2:
  28.                     addDemo2();
  29.                     break;
  30.                 case 3:
  31.                     removeDemo1();
  32.                     break;
  33.                 case 4:
  34.                     removeDemo2();
  35.                     break;
  36.             }
  37.         }
  38.     }
  39.  
  40.     private static void addDemo1() {
  41.         System.out.print("\n\nDemo Arbol AVL Agregar con Rotación Simple LL\n");
  42.         AVLTree<Integer> tree = new AVLTree<Integer>();
  43.         tree.setVerbose(true);
  44.         // Gnarled trees 29 19 50 12 22 60 8 17
  45.         int[] numbers = {29, 19, 50, 12, 22, 60, 8, 17};
  46.         for (int number : numbers) {
  47.             tree.add(number);
  48.         }
  49.         tree.add(5);
  50.     }
  51.     private static void addDemo2() {
  52.         System.out.print("\n\nDemo Arbol AVL Agregar con Rotación Doble LR\n");
  53.         AVLTree<Integer> tree = new AVLTree<Integer>();
  54.         tree.setVerbose(true);
  55.         // Gnarled trees 40 20 80 10 30 50 90 45 75
  56.         int[] numbers = {40, 20, 80, 10, 30, 50, 90, 45, 75};
  57.         for (int number : numbers) {
  58.             tree.add(number);
  59.         }
  60.         tree.add(60);
  61.     }
  62.  
  63.     private static void removeDemo1() {
  64.         System.out.print("\n\nDemo Arbol AVL Remover con Rotación Simple RR\n");
  65.         AVLTree<Integer> tree = new AVLTree<Integer>();
  66.         tree.setVerbose(true);
  67.         // Gnarled trees 29 20 61 25 40 70 55 79
  68.         int[] numbers = {29, 20, 61, 25, 40, 70, 55, 79};
  69.         for (int number : numbers) {
  70.             tree.add(number);
  71.         }
  72.         tree.remove(25);
  73.     }
  74.  
  75.     private static void removeDemo2() {
  76.         System.out.print("\n\nDemo Arbol AVL Remover con Rotación Doble RR RL\n");
  77.         AVLTree<Integer> tree = new AVLTree<Integer>();
  78.         tree.setVerbose(true);
  79.         // Gnarled trees 70 43 90 21 58 80 110 62 72 88 95 85
  80.         int[] numbers = {70, 43, 90, 21, 58, 80, 110, 62, 72, 88, 95, 85};
  81.         for (int number : numbers) {
  82.             tree.add(number);
  83.         }
  84.         tree.remove(21);
  85.     }
  86.  
  87. }
  88.  
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement