정진(바르게 나아가기)
/
포스트
/
알고리즘
/
알고리즘
Search
Share
알고리즘
갤러리 보기
Search
•
알고리즘 계산 복잡도는 다음 두 가지 척도로 표현될 수 있음
•
통상 둘 다를 만족시키기는 어려움
공간 복잡도 대략적인 계산은 필요함
•
기존 알고리즘 문제는 예전에 공간 복잡도도 고려되어야할 때 만들어진 경우가 많음
•
그래서 기존 알고리즘 문제에 시간 복잡도뿐만 아니라, 공간 복잡도 제약 사항이 있는 경우가 있음
•
또한, 기존 알고리즘 문제에 영향을 받아서, 면접시에도 공간 복잡도를 묻는 경우가 있음
1. 공간 복잡도
2022/06/24 08:13
1.
알고리즘 연습 방법
알고리즘 연습 방법
1.
연습장과 펜을 준비한다.
2.
알고리즘 문제를 읽고 분석한 후에,
2. 버블 정렬
2022/06/24 08:43
유클리드 호제법 (백준)
•
최대 공약수 : A와 B 두 수가 주어지면 A의 약수들을 모두 구하고, B의 약수들을 모두 구한 뒤 공통 된 약수들만 찾아내어
•
정리
•
최소 공배수: A와 B 두 수가 주어진다면 A,B의 공통된 최소 배수
•
정리
•
코드
알고리즘(유클리드 호제법)
2022/02/21 05:48
1.
선택 정렬(selection sort)란?
•
다음과 같은 순서를 반복하여 정렬하는 알고리즘
2.
어떻게 코드로 만들까
간단한 로직에 집중해서, 각각 데이터가 저장되어 있는 배열이 있다고 가정
•
데이터가 두 개 일때
3. 선택 정렬
2022/06/29 06:55
1.
삽입 정렬 이란?
•
삽입 정렬은 두 번째 인덱스부터 시작
•
해당 인덱스 앞에 있는 데이터부터 비교해서 key 값이 더 작으면, B 값을 뒤 인덱스로 복사
•
이를 key값이 더 큰 데이터를 만날때까지 반복, 그리고 큰 데이터를 만난 위치 바로 뒤에 key값을 이동
2.
어떻게 코드로 만들까?(결국 프로그래밍으로 일반화할 수 있도록 만드는 것)
알고리즘 연습 방법에 기반해서 단계별로 생각해봅시다.
4. 삽입 정렬
2022/07/03 08:41
1.
재귀 용법
•
함수 안에서 동일한 함수를 호출하는 형태
2.
재귀 용법 이해
•
예제를 풀어보며, 재귀 용법을 이해해보기
예제
•
팩토리얼을 구하는 알고리즘을 Recursive Call을 활용해서 알고리즘 작성하기
5. 재귀 용법
2022/07/03 08:59
1.
정의
6. 동적 계획법과 분할 정복
2022/07/03 09:24
1. 탐욕 알고리즘 이란?
•
Greedy algorithm 또는 탐욕 알고리즘 이라고 불리움
•
최적의 해에 가까운 값을 구하기 위해 사용됨
•
여러 경우 중 하나를 결정해야할 때마다, 매순간 최적이라고 생각되는 경우를 선택하는 방식으로 진행해서, 최종적인 값을 구하는 방식
2. 탐욕 알고리즘 예
7. Greedy 알고리즘
2022/10/02 13:05
깊이 우선 탐색(Depth-First Search)
1.BFS 와 DFS란?
•
대표적인 그래프 탐색 알고리즘
8. DFS
2022/10/16 05:45
이진 탐색이란?
BinarySearch 라고 부르며, 정렬되어 있는 배열에서 특정 값을 찾는 알고리즘.
X 라는 숫자를 찾는다고 할 때, 배열의 중간값을 X 와 비교한다.
X 보다 중간값이 크면 X는 중간값 기준으로 배열의 왼쪽에 있고, X 보다 중간값이 작으면 X는 중간값 기준으로 오른쪽에 있다.
아래 배열 에서 40을 찾는다고 생각해보면
X = 40
9. 이진탐색
2022/11/21 23:30