✔️ Python은 값이 아니라 “참조”를 전달한다!즉, 함수에 변수를 넘기면 그 값 자체를 복사하는 게 아니라 그 변수가 가리키는 객체를 같이 바라보게 된다.그럼 함수에 넘겨준 인자 값을 변경하면 다 바뀌나?아니다!이 차이는 객체 타입에 따라 다르다.인자의 객체 타입
우선순위 큐(Priority Queue)는 우선순위가 높은 데이터에 집중하여, 우선순위가 높은 데이터먼저 나갈 수 있는 형태의 자료구조이다.배열, 연결리스트 등으로도 구현 가능하지만, 힙(Heap)을 사용해야 삭제 시간을 O(logN)으로 최적화할 수 있다.Python
해시맵(Hash Map)은 key-value의 쌍 형태로 데이터를 저장하며, 해싱을 기반으로 데이터들을 관리해주는 자료구조이다.해시맵에서는 삽입, 삭제, 탐색, 포함 여부 확인 등 모든 함수의 시간복잡도가 전부 O(1)이라는 큰 특징이 있다.대신 데이터간 순서가 없다는
🎱 MST MST(Minimum Spanning Tree)는 가중치가 있는 무방향 그래프에서 최소 비용으로 모든 노드를 연결하는 트리를 말한다. “트리”라고 하는 이유는 이 그래프에 cycle이 없어야하기 때문이다. 모든 정점 연결 사이클 없음 가중치의 합이 최소
LCA(Lowest Common Ancestor)는 트리에서 두 노드의 가장 가까운 공통 조상을 찾는 것이다.최소 공통 조상트리 구조 기반가장 널리 쓰이는 LCA 알고리즘은 Binary Lifting이다.Binary Lifting에 대해서 알아보자!Binary Lift
값을 빠르게 업데이트하기 위해 해당 값 사용 전까지 직접 업데이트하지 않고 미뤄두는 최적화 기법이다.lazy 배열에 미룬 갱신 값 저장propagate 함수로 노드를 사용할 때 갱신 값 업데이트기존 Segment Tree와 비교하며 아래의 Lazy Propagation