Skip to content

gwon713/algorism

Repository files navigation

algorism

알고리즘 문제 소스(프로그래머스) 및 자료구조/알고리즘 공부정리

🤷 자료구조란?

자료(Data)들을 효율적으로 관리하기 위한 데이터 구조

프로그래밍에서 효율적으로 데이터를 처리하기 위해서는 데이터의 특성과 처리하는 상황에 맞는 구조화를 해야함!

선형구조

리스트 (List)

스택 (Stack)

Stack!

큐 (Queue)

Queue!

덱 (Deque)

Deque!

비선형구조

해시 테이블 (Hash table)

트리 (Tree)

  • 이진트리 (binary tree)
  • 이진 탐색 트리 (Binary Search Tree, BST)
  • AVL 트리 (AVL tree)

그래프 (Graph)

  • 방향 그래프
  • 무방향 그래프

힙 (Heap)

우선순위 큐(Priority Queue)

깊이 우선 탐색(DFS)

DFS

너비 우선 탐색(BFS)

BFS

시간 복잡도

알고리즘을 수행하기 위해 프로세스가 수행해야하는 연산을 수치화 한 것

O(1) – 상수 시간 : 문제를 해결하는데 오직 한 단계만 처리함.

O(log n) – 로그 시간 : 문제를 해결하는데 필요한 단계들이 연산마다 특정 요인에 의해 줄어듬.

O(n) – 직선적 시간 : 문제를 해결하기 위한 단계의 수와 입력값 n이 1:1 관계를 가짐.

O(n log n) : 문제를 해결하기 위한 단계의 수가 N*(log2N) 번만큼의 수행시간을 가진다. (선형로그형)

O(n^2) – 2차 시간 : 문제를 해결하기 위한 단계의 수는 입력값 n의 제곱.

O(C^n) – 지수 시간 : 문제를 해결하기 위한 단계의 수는 주어진 상수값 C 의 n 제곱.

프로그래머스

2단계

About

알고리즘 공부

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published