
배열은 메모리의 연속공간에 값이 채워져 있는 형태의 자료구조!배열의 값은 인덱스를 통해 참조할 수 있다.인덱스를 사용하여 값에 바로 접근 할 수 있다.새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 삽입 및 삭제하려면 해당 인덱스 주변에 있는 값을 이

🟠 구간 합(python): Prefix Sum > 구간 합은 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용되는 특수한 목적의 알고리즘이다. 합 배열 S를 만드는 공식 > S[i] = S[i-1] + A[i] 구간 합을 구하는 공식 > S[j] -
🟠 슬라이딩 윈도우문제-최솟값 찾기 Deque사용하기 > 덱(Deque)이란 double-ended queue를 줄여서 표현한 것으로 양방향으로 넣고 뺄 수 있다. 따라서 deque은 스택과 큐의 특성을 모두 갖고 있으며, 둘을 조합한 형태의 자료구조로 이해하면 된
스택: 삽입과 삭제 연산이 후입 선출(Last In First Out)로 이뤄지는 자료구조top: 삽입과 삭제가 일어나는 위치를 뜻한다.s.append(data) : top위치에 새로운 데이터 삽입하는 연산s.pop(data) : top위치에 현재 있는 데이터를 삭제하
그래프? : 여러 개체들이 연결되어 있는 자료구조탐색? : 특정 개체를 찾기 위한 알고리즘 --> 그래프 탐색 알고리즘ex1. 경로탐색 유형 (최단거리, 시간)ex2. 네트워크 유형 (연결)ex3. 조합 유형 (모든 조합 만들기) DFS: 한놈만 끝까지 패는 유형 --
Greedy Choice Property(탐욕스런 선택 조건)Optimal Substructure(최적 부분 구조 조건)항상 현재의 최적해 != 전체의 최적 해 이기 때문에!1\. 현재의 선택이 미래의 선택에 영향을 주지 않을때!2\. 부분의 최적 해가 모이면 전체의

메모리를 사용해서 중복 연산을 줄이고, 중복 연산을 줄여서 수행 속도를 개선한다.\--> 메모리를 사용한다 : 배열 혹은 자료구조를 만든다.\--> 중복 연산을 줄인다 : 연산한 결과를 배열에 담는다.수행시간을 단축시키고자 만든 알고리즘다양한 유형의 문제를 최적화 할

완전 이진트리를 기본으로 한 자료구조(최댓값 및 최ㅏ솟값을 찾아내는 연산을 빠르게 하기 위해 고안된)부모 - 자식 노드의 대소 관계 성립

정렬은 주어진 배열이나 요소의 목록을 요소에 대한 비교 연산자에 따라 재배열하는 것을 말합니다. 비교 연산자는 해당 데이터 구조에서 요소의 새로운 순서를 결정하는 데 사용됩니다.데이터 구조에는 다양한 정렬 알고리즘이 사용됩니다. 다음 두 가지 유형의 정렬 알고리즘은 광
🦊 Quick Sort 👉 Abstract Quick Sort은 분할 정복(divide and conquer) 방법 을 통해 주어진 배열을 정렬한다. [분할 정복(divide and conquer) 방법] 문제를 작은 2개의 문제로 분리하고 각각을 해결한 다음,