정렬된 데이터 집합이여야 함start = 집합의 시작 원소 위치end = 집합의 마지막 원소 위치mid = 집합의 중간 원소 위치데이터 개수가 n인 정렬집합 arr에서 target을 찾는것!strart ≤ end 일 동안 아래 3. ~ 5. 을 반복if arrmid =
접시를 쌓듯이 자료를 차곡차곡 쌓아 올린 형태의 자료구조후입선출(Last-In, First-Out, LIFO) 리스트가장 최근에 들어온 데이터가 가장 먼저 나감top(peek) 이라고 하는 한쪽 끝에서 모든 삽입, 삭제 연산이 일어나는 순서 리스트파이썬에서 스택을 이용
접시를 쌓듯이 자료를 차곡차곡 쌓아 올린 형태의 자료구조선입선출(First-In First-Out, FIFO) 리스트가장 먼저 들어온 데이터가 가장 먼저 나감한쪽 끝(rear)에서 삽입이 일어남반대쪽 끝(front)에서 삭제가 일어남큐를 사용하면 데이터를 추가한 순서대
하나의 정점에서 시작하여 모든 정점을 한 번씩 방문하여 처리하는 연산많은 문제들이 단순히 그래프의 노드를 탐색하는 것으로 해결된다.예 : 도로망에서 특정 도시에서 다른 도시로 갈 수 있는지 여부갈 수 있는곳 까지 계속 진행, 더 진행할 수 없으면 돌아온뒤 다시 탐색st
하나의 정점에서 시작하여 모든 정점을 한 번씩 방문하여 처리하는 연산많은 문제들이 단순히 그래프의 노드를 탐색하는 것으로 해결된다.예 : 도로망에서 특정 도시에서 다른 도시로 갈 수 있는지 여부갈 수 있는곳 까지 계속 진행, 더 진행할 수 없으면 돌아온뒤 다시 탐색qu
다이나믹 프로그래밍, DP, 동적 계획법 모두 같은걸 의미함최적해를 구하기위한 시간, 또는 메모리공간이 많이 필요한 경우 사용하게 된다.컴퓨터는 연산속도에 한계가 있고, 메모리 공간도 한정적이기 때문연산속도와 메모리 공간을 최대한으로 활용할 수 있는 효율적인 알고리즘이
탐욕법 이라고 불린다.현재 상황에서 지금 당장 좋은것만을 고르는 방법매 순간 가장 좋아 보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않음보통 코딩테스트에 출제되는 그리디 알고리즘의 문제는, 문제를 풀기위한 최소한의 아이디어를 떠올릴 수 있
전산학에서의 트리 순회는 에서 각각의 노드를 정확히 한 번만, 체계적인 방법으로 방문하는 과정을 말한다. 이는 노드를 방문하는 순서에 따라 분류된다. 여기서 설명하는 알고리즘들은 이진트리에 대해서 작성되었지만, 다른 모든 트리에서도 일반화될 수 있다.분할정복 탐색 알고
최단 경로 알고리즘 중 가장 많이 사용된다.무방향 그래프, 방향 그래프 모두 적용 가능하다.모든 간선은 음이 아닌 비용을 가져야 한다.시작 정점부터 모든 다른 정점까지의 최단 경로를 구하는 알고리즘시작 정점(v) 에서, 정점(u)까지의 최단경로 distu를 구해, 정점
무방향 가중치 그래프에서 최저의 비용을 갖는 신장 트리간선들의 가중치 합이 최소인 신장 트리를 의미한다.최소 비용 신장 트리를 만드는 알고리즘KRUSKALPRIM신장 트리를 만드는 제한 조건그래프 내에 있는 간선들만 사용해야한다.총 n-1개의 간선만을 사용해야 한다.사
모든 정점의 쌍 u와 v간의 최단경로를 구하는 알고리즘Aki0부터 k까지의 정점만을 이용한 정점 i에서 정점 j까지의 최단 경로정점 0부터 정점 k-1까지의 정점을 고려한 최단 거리 Ak-1을 구한 상태에서 다음 정점k를 고려할 때, 중간에 정점 k를 통과하지 않는 경