복잡도는 알고리즘의 성능을 나타내는 척도.시간복잡도: 알고리즘의 수행시간 분석. 시간복잡도가 높으면 실행 시간 많이 소요, 낮으면 적게 소요.공간복잡도 : 알고리즘의 메모리 사용량 분석. 공간복잡도가 높으면 많은 메모리사용.복잡도가 낮을수록 좋은 알고리즘.가장 빠르게
머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정.구현 유형의 문제: 풀이는 생각하는 건 쉽지만, 소스코드로 옮기기 어려운 문제.e.g.알고리즘은 간단, 코드가 긴 문제.실수 연산하고, 특정 소수점까지 출력하는 문제.문자열을 특정한 기준에 맞춰 잘라서 처리하는 문제.적절
현재 상황에서 지금 당장 좋은 것만 고르는 방법.최소한의 아이디어 구상.정당선 분석 중요. 가장 좋아보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는 지 검토. 일반적으로 최적의 해가 아닐 때가 많음. 코딩테스트에서는 탐욕법으로 얻은 해가 최적의 해가 되는 상
알고리즘의 효율성 표기방법 중 하나.시간복잡도: 실행속도. 입력된 N의 크기에 따라 걸리는 시간.공간복잡도: 사용되는 메모리의 양.시간복잡도를 표현할 때 최고차항만 표기.오메가 표기법 (Big-Ω Notation) : 최상의 실행시간세타 표기법 (Big-θ Notati
그래프 탐색 알고리즘 탐색이란 데이터 중에서 원하는 데이터를 찾는 과정. 대표적으로 DFS/BFS. 코딩테스트에 자주 등장. Stack 먼저 들어온 데이터가 나중에 나감. FILO(First In, Last Out), 선입후출 방식. 입구와 출구가 동일한 형태.
\*나동빈님의 이코테 2021강의 정리데이터를 특정 기준에 따라 순서대로 나열하는 것.처리되지 않은 데이터 중 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것 반복.N번 만큼 가장 작은 수를 찾아서 맨 앞으로 보내야함.시간복잡도: O(N^2) 처리되지 않은
우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조.데이터를 우선순위에 따라 처리하고 싶을 때 사용.물건 데이터를 자료구조에 넣었다가 가치가 높은 물건부터 차례대로 확인해야하는 경우.리스트 이용리스트에 차례대로 데이터를 넣은 다음, 리스트에서 꺼낼때는 각각의 데
가계도와 같은 계층적인 구조 표현.기본적으로 트리의 크기가 N일때, 전체 간선의 개수는 N-1개.루트 노드(root node): 부모가 없는 최상위 노드.단말 노드(leaf node): 자식이 없는 노드.크기(size): 트리에 포함된 모든 노드의 개수.깊이(depth
*나동빈님의 이코테 2021강의 정리 이진 탐색 알고리즘 순차 탐색: 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인 하는 방법. 보통 정렬되지 않은 리스트에서 데이터를 찾아야할 때 사용, 데이터가 아무리 많아도 시간만 충분하다면 항상
\*\[나동빈님의 이코테 2021강의 정리]메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록 함top down과 bottom up 방식으로 구성동적계획법이라고도 함프