Skip to content

Repository files navigation

JAVA Data Structure Algorithm (자바 자료구조, 알고리즘)

java-datastructure

자료구조의 기본 이론 내용을 JAVA로 풀이

  • Array (배열)
  • Linked List (연결리스트)
  • Stack (스택)
  • Queue (큐)
  • Tree (트리)
  • Graph (그래프)

Array (배열)

  1. 1차원 배열 : access, search, insertion, deletion
  2. 다차원 배열 : access, search, insertion, deletion

LinkedList (연결리스트)

  1. ArrayList : Collection Framework을 이용해서 ArrayList 사용해보기
  2. LinkedList : Collection Framework을 이용해서 LinkedList 사용해보기
  3. ArrayList Implement : 배열을 이용한 Array List 구현
  4. LinkedList Implement : node 클래스를 생성한 LinkedList 구현

Stack (스택)

  1. Stack : Collection Framework 이용해서 stack 사용해 보기
  2. Stack Implement : 배열을 이용해서 Stack 구현

Queue (큐)

  1. Queue : Collection Framework 이용해서 queue 사용해 보기
  2. Queue Implement : 배열을 이용해서 Stack 구현

Tree (트리)

  1. Binary Search Tree (BTS) : node 클래스를 생성한 이진검색트리 구현

java-algorithm-theory

알고리즘의 기본 이론내용을 JAVA로 풀이

  • Recursion (순환)
  • Sort (정렬)
  • Search (검색)
  • Hash (해시)
  • Graph (그래프)
  • MST (Minimum Spanning Tree) (최소 신장 트리)
  • Shortest Path (최단경로)
  • Divide and Conquer (분할정복)
  • Dynamic Programming (DP) (동적프로그래밍)
  • Greedy Algorithm (탐욕 알고리즘)

Recursion (순환)

  1. Sum : 1 ~ n 까지의 합 구하기 (Recrusion, for)
  2. Factorial : n! 구하기 (Recrusion, for)
  3. Fibonacci 구하기 (Recrusion, for)
  4. GCD(최대공약수), LCD(최소공배수) 구하기 (Recursion, while)

Sort (정렬)

  1. Selection Sort (선택 정렬) 구현
  2. Bubble Sort (버블 정렬) 구현
  3. Insert Sort (선택 정렬) 구현
  4. Shell Sort (쉘 정렬) 구현
  5. Quick Sort (퀵 정렬) 구현
  6. Radix Sort (기수 정렬) 구현

Search (검색)

  1. LinearSearch (선형 검색) 구현
  2. BinarySearch (이진 검색) 구현

Hash (해시)

  1. Hash Table 구현

Graph (그래프)

  1. BFS (Breath First Search, 너비우선 탐색) : Queue를 이용하여 구현
  2. DFS (Depth First Search, 깊이우선 탐색) : Stack을 이용하여 구현

MST (Minimum Spanning Tree) (최소 신장 트리)

  1. Kruskal(크루스칼) 구현
  2. Prim(프림) 구현

Shortest Path (최단경로)

  1. Dijkstra(다익스트라)

Divide and Conquer (분할정복)

  1. fibonacci (피보나치 수열) 구현

Dynamic Programming (DP)(동적프로그래밍)

  1. fibonacci(피보나치 수열) 구현

Greedy Algorithm (탐욕 알고리즘)

  1. 동전선택문제(=거스름돈) 구현
  2. Fractional Knapsack Problem 부분 배낭 문제 구현

About

data structure and algorithm using JAVA

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages