본문 바로가기

개인 블로그

[각코 6주차 개인 블로그] 트리, 해싱

트리 (Tree)

  • 정의: 노드들 간에 계층적인 관계를 가지는 자료구조로, 루트 노드에서부터 시작하여 브랜치와 리프 노드로 이어지는 구조.

  • 자바 예제코드: 이진 트리(Binary Tree)의 예시

      // 이진 트리 노드 클래스
      class TreeNode {
          int data;
          TreeNode left, right;
          public TreeNode(int item) {
              data = item;
              left = right = null;
          }
      }
    
      // 이진 트리 클래스
      public class BinaryTree {
          TreeNode root;
          public BinaryTree() {
              root = null;
          }
    
          // 이진 트리 순회 메소드 (예: 중위 순회)
          public void inOrder(TreeNode node) {
              if (node == null)
                  return;
              inOrder(node.left);
              System.out.print(node.data + " ");
              inOrder(node.right);
          }
    
          public static void main(String[] args) {
              BinaryTree tree = new BinaryTree();
              tree.root = new TreeNode(1);
              tree.root.left = new TreeNode(2);
              tree.root.right = new TreeNode(3);
              tree.root.left.left = new TreeNode(4);
              tree.root.left.right = new TreeNode(5);
    
              System.out.println("Inorder traversal of binary tree is ");
              tree.inOrder(tree.root);
          }
      }

해싱 (Hashing)

  • 정의: 데이터를 효율적으로 저장하고 검색하기 위한 자료구조로, 해시 함수를 사용하여 데이터를 고유한 값으로 매핑하여 저장함.

  • 자바 예제코드: 해시맵(HashMap)의 예시

      import java.util.HashMap;
    
      public class HashMapExample {
          public static void main(String[] args) {
              // 해시맵 생성
              HashMap<String, Integer> hashMap = new HashMap<>();
    
              // 데이터 추가
              hashMap.put("apple", 10);
              hashMap.put("banana", 20);
              hashMap.put("orange", 30);
    
              // 데이터 검색
              System.out.println("Value of key 'apple': " + hashMap.get("apple"));
    
              // 데이터 삭제
              hashMap.remove("banana");
    
              // 해시맵 크기 확인
              System.out.println("Size of HashMap: " + hashMap.size());
          }
      }