Naloga 3 WIP
This commit is contained in:
		
							parent
							
								
									b0ec0d4ec4
								
							
						
					
					
						commit
						1f2ae5b63a
					
				
							
								
								
									
										29
									
								
								naloga3/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								naloga3/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					### IntelliJ IDEA ###
 | 
				
			||||||
 | 
					out/
 | 
				
			||||||
 | 
					!**/src/main/**/out/
 | 
				
			||||||
 | 
					!**/src/test/**/out/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Eclipse ###
 | 
				
			||||||
 | 
					.apt_generated
 | 
				
			||||||
 | 
					.classpath
 | 
				
			||||||
 | 
					.factorypath
 | 
				
			||||||
 | 
					.project
 | 
				
			||||||
 | 
					.settings
 | 
				
			||||||
 | 
					.springBeans
 | 
				
			||||||
 | 
					.sts4-cache
 | 
				
			||||||
 | 
					bin/
 | 
				
			||||||
 | 
					!**/src/main/**/bin/
 | 
				
			||||||
 | 
					!**/src/test/**/bin/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### NetBeans ###
 | 
				
			||||||
 | 
					/nbproject/private/
 | 
				
			||||||
 | 
					/nbbuild/
 | 
				
			||||||
 | 
					/dist/
 | 
				
			||||||
 | 
					/nbdist/
 | 
				
			||||||
 | 
					/.nb-gradle/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### VS Code ###
 | 
				
			||||||
 | 
					.vscode/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Mac OS ###
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
							
								
								
									
										8
									
								
								naloga3/.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								naloga3/.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					# Default ignored files
 | 
				
			||||||
 | 
					/shelf/
 | 
				
			||||||
 | 
					/workspace.xml
 | 
				
			||||||
 | 
					# Editor-based HTTP Client requests
 | 
				
			||||||
 | 
					/httpRequests/
 | 
				
			||||||
 | 
					# Datasource local storage ignored files
 | 
				
			||||||
 | 
					/dataSources/
 | 
				
			||||||
 | 
					/dataSources.local.xml
 | 
				
			||||||
							
								
								
									
										19
									
								
								naloga3/.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								naloga3/.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					<component name="InspectionProjectProfileManager">
 | 
				
			||||||
 | 
					  <profile version="1.0">
 | 
				
			||||||
 | 
					    <option name="myName" value="Project Default" />
 | 
				
			||||||
 | 
					    <inspection_tool class="PyPep8Inspection" enabled="true" level="INFORMATION" enabled_by_default="true">
 | 
				
			||||||
 | 
					      <option name="ignoredErrors">
 | 
				
			||||||
 | 
					        <list>
 | 
				
			||||||
 | 
					          <option value="W292" />
 | 
				
			||||||
 | 
					        </list>
 | 
				
			||||||
 | 
					      </option>
 | 
				
			||||||
 | 
					    </inspection_tool>
 | 
				
			||||||
 | 
					    <inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
 | 
				
			||||||
 | 
					      <option name="ignoredIdentifiers">
 | 
				
			||||||
 | 
					        <list>
 | 
				
			||||||
 | 
					          <option value="tests.smoke.test_absences_sliding.TestAbsencesSliding.*" />
 | 
				
			||||||
 | 
					        </list>
 | 
				
			||||||
 | 
					      </option>
 | 
				
			||||||
 | 
					    </inspection_tool>
 | 
				
			||||||
 | 
					  </profile>
 | 
				
			||||||
 | 
					</component>
 | 
				
			||||||
							
								
								
									
										6
									
								
								naloga3/.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								naloga3/.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<project version="4">
 | 
				
			||||||
 | 
					  <component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="homebrew-23" project-jdk-type="JavaSDK">
 | 
				
			||||||
 | 
					    <output url="file://$PROJECT_DIR$/out" />
 | 
				
			||||||
 | 
					  </component>
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
							
								
								
									
										8
									
								
								naloga3/.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								naloga3/.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<project version="4">
 | 
				
			||||||
 | 
					  <component name="ProjectModuleManager">
 | 
				
			||||||
 | 
					    <modules>
 | 
				
			||||||
 | 
					      <module fileurl="file://$PROJECT_DIR$/naloga3.iml" filepath="$PROJECT_DIR$/naloga3.iml" />
 | 
				
			||||||
 | 
					    </modules>
 | 
				
			||||||
 | 
					  </component>
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
							
								
								
									
										6
									
								
								naloga3/.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								naloga3/.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<project version="4">
 | 
				
			||||||
 | 
					  <component name="VcsDirectoryMappings">
 | 
				
			||||||
 | 
					    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
 | 
				
			||||||
 | 
					  </component>
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
							
								
								
									
										11
									
								
								naloga3/naloga3.iml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								naloga3/naloga3.iml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<module type="JAVA_MODULE" version="4">
 | 
				
			||||||
 | 
					  <component name="NewModuleRootManager" inherit-compiler-output="true">
 | 
				
			||||||
 | 
					    <exclude-output />
 | 
				
			||||||
 | 
					    <content url="file://$MODULE_DIR$">
 | 
				
			||||||
 | 
					      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
 | 
				
			||||||
 | 
					    </content>
 | 
				
			||||||
 | 
					    <orderEntry type="inheritedJdk" />
 | 
				
			||||||
 | 
					    <orderEntry type="sourceFolder" forTests="false" />
 | 
				
			||||||
 | 
					  </component>
 | 
				
			||||||
 | 
					</module>
 | 
				
			||||||
							
								
								
									
										265
									
								
								naloga3/src/AVLDrevo.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										265
									
								
								naloga3/src/AVLDrevo.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,265 @@
 | 
				
			|||||||
 | 
					@SuppressWarnings("SuspiciousNameCombination")
 | 
				
			||||||
 | 
					public class AVLDrevo {
 | 
				
			||||||
 | 
					    static class Item {
 | 
				
			||||||
 | 
					        public int value;
 | 
				
			||||||
 | 
					        public int count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public Item(int value) {
 | 
				
			||||||
 | 
					            this.value = value;
 | 
				
			||||||
 | 
					            this.count = 1;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @Override
 | 
				
			||||||
 | 
					        public String toString() {
 | 
				
			||||||
 | 
					            return value + "/" + count;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    static class Node {
 | 
				
			||||||
 | 
					        Item item;
 | 
				
			||||||
 | 
					        Node left, right;
 | 
				
			||||||
 | 
					        int height = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public Node(int value) {
 | 
				
			||||||
 | 
					            item = new Item(value);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Node root;
 | 
				
			||||||
 | 
					    StringBuilder traversal;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private int getHeight(Node node) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return node.height;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private int getBalance(Node node) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return getHeight(node.left) - getHeight(node.right);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Node rightRotate(Node y) {
 | 
				
			||||||
 | 
					        Node x = y.left;
 | 
				
			||||||
 | 
					        y.left = x.right;
 | 
				
			||||||
 | 
					        x.right = y;
 | 
				
			||||||
 | 
					        y.height = 1 + Math.max(getHeight(y.left), getHeight(y.right));
 | 
				
			||||||
 | 
					        x.height = 1 + Math.max(getHeight(x.left), getHeight(x.right));
 | 
				
			||||||
 | 
					        return x;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Node leftRotate(Node x) {
 | 
				
			||||||
 | 
					        Node y = x.right;
 | 
				
			||||||
 | 
					        x.right = y.left;
 | 
				
			||||||
 | 
					        y.left = x;
 | 
				
			||||||
 | 
					        x.height = 1 + Math.max(getHeight(x.left), getHeight(x.right));
 | 
				
			||||||
 | 
					        y.height = 1 + Math.max(getHeight(y.left), getHeight(y.right));
 | 
				
			||||||
 | 
					        return y;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Node minValueNode(Node node) {
 | 
				
			||||||
 | 
					        Node current = node;
 | 
				
			||||||
 | 
					        while (current.left != null) {
 | 
				
			||||||
 | 
					            current = current.left;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return current;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Node balance(Node node) {
 | 
				
			||||||
 | 
					        int balance = getBalance(node);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (balance > 1 && getBalance(node.left) >= 0) {
 | 
				
			||||||
 | 
					            return rightRotate(node);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (balance > 1 && getBalance(node.left) < 0) {
 | 
				
			||||||
 | 
					            node.left = leftRotate(node.left);
 | 
				
			||||||
 | 
					            return rightRotate(node);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (balance < -1 && getBalance(node.right) <= 0) {
 | 
				
			||||||
 | 
					            return leftRotate(node);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (balance < -1 && getBalance(node.right) > 0) {
 | 
				
			||||||
 | 
					            node.right = rightRotate(node.right);
 | 
				
			||||||
 | 
					            return leftRotate(node);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return node;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void vstavi(int kljuc) {
 | 
				
			||||||
 | 
					        root = vstavi(root, kljuc);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Node vstavi(Node node, int value) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return new Node(value);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (value == node.item.value) {
 | 
				
			||||||
 | 
					            node.item.count++;
 | 
				
			||||||
 | 
					            return node;
 | 
				
			||||||
 | 
					        } else if (value < node.item.value) {
 | 
				
			||||||
 | 
					            node.left = vstavi(node.left, value);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            node.right = vstavi(node.right, value);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        node.height = 1 + Math.max(getHeight(node.left), getHeight(node.right));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return balance(node);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void najdi(int kljuc) {
 | 
				
			||||||
 | 
					        traversal = new StringBuilder();
 | 
				
			||||||
 | 
					        najdi(root, kljuc);
 | 
				
			||||||
 | 
					        System.out.println(traversal.substring(0, traversal.length() - 1));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void najdi(Node node, int value) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            traversal.append("x").append(",");
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (value == node.item.value) {
 | 
				
			||||||
 | 
					            traversal.append(node.item.value).append(",");
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        } else if (value < node.item.value) {
 | 
				
			||||||
 | 
					            traversal.append(node.item.value).append(",");
 | 
				
			||||||
 | 
					            najdi(node.left, value);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            traversal.append(node.item.value).append(",");
 | 
				
			||||||
 | 
					            najdi(node.right, value);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void izbrisi(int kljuc) {
 | 
				
			||||||
 | 
					        izbrisi(root, kljuc);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Node izbrisi(Node node, int value) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (value < node.item.value) {
 | 
				
			||||||
 | 
					            node.left = izbrisi(node.left, value);
 | 
				
			||||||
 | 
					        } else if (value > node.item.value) {
 | 
				
			||||||
 | 
					            node.right = izbrisi(node.right, value);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            if (node.item.count > 1) {
 | 
				
			||||||
 | 
					                node.item.count--;
 | 
				
			||||||
 | 
					                return node;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Node tmp;
 | 
				
			||||||
 | 
					            if (node.left == null) {
 | 
				
			||||||
 | 
					                tmp = node.right;
 | 
				
			||||||
 | 
					                return tmp;
 | 
				
			||||||
 | 
					            } else if (node.right == null) {
 | 
				
			||||||
 | 
					                tmp = node.left;
 | 
				
			||||||
 | 
					                return tmp;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            tmp = minValueNode(node.right);
 | 
				
			||||||
 | 
					            node.item = tmp.item;
 | 
				
			||||||
 | 
					            node.right = izbrisi(node.right, tmp.item.value);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        node.height = 1 + Math.max(getHeight(node.left), getHeight(node.right));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return balance(node);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void premiPregled() {
 | 
				
			||||||
 | 
					        traversal = new StringBuilder();
 | 
				
			||||||
 | 
					        if (root == null) {
 | 
				
			||||||
 | 
					            System.out.println("empty");
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        premiPregled(root);
 | 
				
			||||||
 | 
					        System.out.println(traversal.substring(0, traversal.length() - 1));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void premiPregled(Node node) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        traversal.append(node.item).append(",");
 | 
				
			||||||
 | 
					        premiPregled(node.left);
 | 
				
			||||||
 | 
					        premiPregled(node.right);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void najnizjiSkupniPredhodnik(int a, int b) {
 | 
				
			||||||
 | 
					        Node node = lca(root, a, b);
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            System.out.println("x");
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        System.out.println(node.item.value);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Node lca(Node node, int a, int b) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (a < node.item.value && b < node.item.value) {
 | 
				
			||||||
 | 
					            return lca(node.left, a, b);
 | 
				
			||||||
 | 
					        } else if (a > node.item.value && b > node.item.value) {
 | 
				
			||||||
 | 
					            return lca(node.right, a, b);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return node;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void vsotaVMejah(int spodnjaMeja, int zgornjaMeja) {
 | 
				
			||||||
 | 
					        int sum = sumBounds(root, spodnjaMeja, zgornjaMeja);
 | 
				
			||||||
 | 
					        System.out.println(sum);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private int sumBounds(Node node, int lower, int upper) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        int sum = 0;
 | 
				
			||||||
 | 
					        if (node.item.value >= lower && node.item.value <= upper) {
 | 
				
			||||||
 | 
					            sum += node.item.value * node.item.count;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        sum += sumBounds(node.left, lower, upper);
 | 
				
			||||||
 | 
					        sum += sumBounds(node.right, lower, upper);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return sum;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void ktiNajmanjsi(int indeks) {
 | 
				
			||||||
 | 
					        Integer smallest = kSmallest(root, indeks);
 | 
				
			||||||
 | 
					        if (smallest != null) {
 | 
				
			||||||
 | 
					            System.out.println("x");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Integer kSmallest(Node node, int index) {
 | 
				
			||||||
 | 
					        if (node == null) {
 | 
				
			||||||
 | 
					            return index;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        Integer k = kSmallest(node.left, index);
 | 
				
			||||||
 | 
					        if (k == null) {
 | 
				
			||||||
 | 
					            return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        k -= node.item.count;
 | 
				
			||||||
 | 
					        if (k <= 0) {
 | 
				
			||||||
 | 
					            System.out.println(node.item.value);
 | 
				
			||||||
 | 
					            return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return kSmallest(node.right, k);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								naloga3/src/Main.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								naloga3/src/Main.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					public class Main {
 | 
				
			||||||
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
 | 
					        AVLDrevo tree = new AVLDrevo();
 | 
				
			||||||
 | 
					        tree.vstavi(8);
 | 
				
			||||||
 | 
					        tree.vstavi(3);
 | 
				
			||||||
 | 
					        tree.vstavi(10);
 | 
				
			||||||
 | 
					        tree.vstavi(1);
 | 
				
			||||||
 | 
					        tree.vstavi(6);
 | 
				
			||||||
 | 
					        tree.vstavi(14);
 | 
				
			||||||
 | 
					        tree.vstavi(6);
 | 
				
			||||||
 | 
					        tree.vsotaVMejah(3, 6);
 | 
				
			||||||
 | 
					        tree.najdi(9);
 | 
				
			||||||
 | 
					        tree.ktiNajmanjsi(2);
 | 
				
			||||||
 | 
					        tree.najnizjiSkupniPredhodnik(1, 6);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user