Skip to content

rubythonode/algorithm_basic_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm_basic

기본적인 알고리즘을 정리한 Repository 입니다. 모든 코드는 test 디렉토리에 존재하며 주제별로 나뉘어 있습니다. 알고리즘 코드들은 java로 작성되었습니다

Algorithm basic List

Basic part

  • 주어진 문자열을 int 형으로 변환한다. Link
  • 주어진 문자열에서 문자열을 구성하고 있는 각각의 문자열들이 고유한지를 판단한다. Link
  • 주어진 문자열이 애너그램인지를 판단한다. Link
  • 주어진 문자열을 길이와 함께 적어주면서 압축을 한다. Link
  • 주어진 문서(단어별로 나뉘어진 배열)에서 특정 단어의 빈도를 구한다. Link

Recursion part

  • Fibonacci 를 계산하는 함수를 작성한다. Link
    • Dynamic Programming Fibonacci. Link
  • 주사위로 이동 가능한 경우의 수를 모두 구한다. Link
  • n비트의 모든 경우의 수를 출력한다. Link
  • 순열을 구한다. Link
  • N개 괄호로 만들 수 있는 모든 조합 출력하기. Link

LinkedList

  • 첫번째 원소를 제거한다.
  • 중복된 원소를 제거한다.
  • 역순으로 출력한다.
  • k번째 원소를 찾는다.
  • 회문인지 판단한다.
    Link

Stack

  • Array를 사용하여 Stack을 구현한다. Link
  • ArrayList를 사용하여 Stack을 구현한다. Link
  • Stack에 저장된 값들 중 최소값을 반환하는 minStack() 함수를 구현한다. Link
  • Stack 자료구조를 사용하여 회문을 판별한다. Link

Queue

  • Stack을 사용하여 queue를 stack처럼 만든다. Link
  • Stack 두 개로 Queue를 구현한다. Link

BinaryTree

  • 바이너리 트리에서 최대값을 구한다.
  • 주어진 바이너리 트리가 균형 잡힌 트리인지 판별한다.
  • 오름차순으로 정렬된 배열을 Binary Search Tree로 변환한다.
  • 주어진 트리가 BST인지 확인한다.
    Link

Priority Queue

  • Priority queue를 사용하여 heap sort를 하라. Link
  • 많은 수 중 top 10을 구한다. Link

Sort

  • bubble sort를 구현한다. Link
  • radix sort를 구현한다. Link

Search

  • binary search를 사용하여 O(log n)의 시간복잡도로 target을 찾는다. Link
  • 정렬된 2차원 배열에서 검색한다. Link

bit

  • 2의 제곱수인지 판별한다.
  • 두 수에서 다른 비트의 개수를 구한다.
    Link
  • O(1)으로 해당 데이터가 존재하는지 판단한다. Link

LICENSE

크리에이티브 커먼즈 라이선스

About

Algorithm basic with java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%