본문 바로가기
Algorism

[알고리즘] 공부할 것들

by 오늘의개발부 2020. 8. 13.
반응형

한 항목씩 공부하며 내용을 정리하고 예제를 추가할 예정입니다.

시간 복잡도

 

[알고리즘] 시간 복잡도

알고리즘은 시간 복잡도와 공간 복잡도로 평가한다. 시간 복잡도는 알고리즘을 수행하는 데에 걸리는 시간, 공간 복잡도는 사용되는 메모리양에 해당한다. 빅오표기법(Big O) 표기 시간 설명 예��

12teamtoday.tistory.com

자료구조

1. 선형 자료구조

1.1 랜덤 접근 가능
1.1.1 배열
1.1.2 해시
1.2 랜덤 접근 불가능
1.2.1 스택

 

[자료구조] 배열을 이용한 Stack구현

스택은 상자에 데이터를 집어넣는 형태의 구조이다. 데이터가 저장 될 때마다 위로 쌓이고, 데이터를 꺼낼 때는 가장 위에 있는 것만 꺼내오는 후입선출형(Last In First Out) 구조이다. 스택의 맨 위

12teamtoday.tistory.com

 

1.3 선형구조 자료 탐색법
1.3.1 순차 탐색
1.3.2 이분 탐색

2. 비선형 자료구조

2.1 그래프
2.1.1 그래프 관련 용어
2.1.2 그래프의 종류
2.1.3 그래프 순회 알고리즘
2.1.3.1 깊이 우선 탐색
2.1.3.2 너비 우선 탐색
2.2 트리
2.2.1 트리 관련 용어
2.2.2 트리의 종류
2.2.3 트리 순회 알고리즘
2.2.3.1 전위 순회
2.2.3.2 중위 순회
2.2.3.3 후위 순회
2.2.3.4 레벨 순서 순회
2.2.4 이진 탐색 트리
2.2.1 이진 탐색

 

[알고리즘] 이진탐색

이진탐색 알고리즘은 정렬이 되어있는 배열에서 특정한 값을 찾아내는 알고리즘이다. 먼저 배열의 중간값을 찾고하자는 값과 비교한다. 그리고 중간값이 찾고하자는 값보다 크다면 배열의 왼��

12teamtoday.tistory.com

3. 문자열

알고리즘

1. 기초 알고리즘

1.1 정렬
1.1.1 거품(Bubble) 정렬

 

버블정렬

버블정렬 시간복잡도 공간복잡도 전체 요소를 순회하기 위해 N 인접 요소를 비교하기 위해 N N x N = O(N²) 인접 요소 비교 후 스왑을 하기 위해 O(1) 버블 정렬은 인접한 두 요소를 비교하며 큰 값을

12teamtoday.tistory.com

1.1.2 선택(Selection) 정렬

 

선택정렬(Selection sort)

선택정렬 시간복잡도 공간복잡도 전체 요소를 순회하기 위해 N 요소들을 비교하며 가장 작은 요소를 찾기 위해 N N x N = O(N²) 비교 후 배열 내 스왑을 하기 위해 O(1) 배열을 순회하며 가장 작은 요

12teamtoday.tistory.com

1.1.3 삽입(Insertion) 정렬

 

삽입 정렬(Insertion sort)

삽입정렬 시간복잡도 공간복잡도 전체 요소를 순회하기 위해 N 검색 범위를 넓혀가며 전체 요소까지 비교하기 위해 N N x N = O(N²) 비교 후 배열 내 스왑을 하기 위해 O(1) 정렬 범위를 한칸씩 확장

12teamtoday.tistory.com

1.1.4 병합(Merge) 정렬

 

병합 정렬(Merge sort)

병합정렬 시간복잡도 공간복잡도 모든 값을 비교해야하므로 N 반복을 거듭할 때마다 반씩 줄어듦으로 log N O(N log N) 배열을 병합할 때 병합 결과를 담아놓을 배열이 필요함 O(N) 주어진 요소가 각

12teamtoday.tistory.com

1.1.5 퀵(Quick) 정렬

 

퀵 정렬(Quick sort)

퀵정렬 시간복잡도 공간복잡도 모든 값을 비교해야하므로 N 반복을 거듭할 때마다 반씩 줄어듦으로 log N O(N log N) 배열을 병합할 때 병합 결과를 담아놓을 배열이 필요함 O(N) 일반적으로 pivot이라

12teamtoday.tistory.com

 

동적 계획법

탐욕법

유클리드호제법

비트 연산

진수 변환

반응형

'Algorism' 카테고리의 다른 글

선택정렬(Selection sort)  (0) 2022.07.12
버블정렬(Bubble sort)  (0) 2022.07.12
[알고리즘] 이진탐색  (0) 2020.08.31
[자료구조] 배열을 이용한 Stack구현  (0) 2020.08.24
[알고리즘] 시간 복잡도  (0) 2020.08.13