Sapphire9 개발 일지
article thumbnail
우선순위 큐
CS/자료구조 2023. 2. 10. 00:23

우선순위 큐 우선순위가 가장 높은 데이터를 먼저 삭제하는 자료구조 데이터를 우선순위에 따라 처리하고 싶을 때 사용 구현 리스트를 이용한 구현 힙(heap)을 이용한 구현 데이터의 개수가 N개일 때, 구현 방식에 따른 시간 복잡도는 다음과 같음 우선순위 큐 구현 방식 삽입 시간 삭제 시간 리스트 O(1) O(N) 힙(Heap) O(logN) O(logN) 리스트의 경우 데이터를 차례대로 넣은 뒤, 우선순위에 맞게 꺼내는 방식 단순히 N개의 데이터를 힙에 넣었다가 모두 꺼내는 작업은 정렬과 동일(힙 정렬) 이 경우, 시간 복잡도는 O(NlogN) 힙(Heap)의 특징 힙은 완전 이진 트리 자료구조의 일종 힙에서는 항상 루트 노드를 제거 최소 힙(min heap) 루트 노드가 가장 작은 값을 가짐 값이 작은 ..

기술 면접 대비 - 자료구조
CS/자료구조 2023. 2. 8. 03:53

'Do it! 자료구조와 함께 배우는 알고리즘 입문(파이썬)' 책을 기반으로 정리한 내용입니다. 배열(array)이란? 배열(array)은 같은 타입의 변수들로 이루어진 유한 집합 파이썬에서는 서로 다른 자료형을 같이 저장할 수 있음 배열을 구성하는 각각의 값을 배열 요소(element) 배열에서의 위치를 가리키는 숫자는 인덱스(index) 배열은 같은 종류의 데이터를 많이 다뤄야 하는 경우에 사용할 수 있는 가장 기본적인 자료구조 파이썬에서 배열은 리스트(list)와 튜플(tuple)로 구현할 수 있다. 검색 알고리즘 검색과 키 검색 조건에서 주목하는 항목을 키 대부분 키는 데이터의 일부 데이터가 간단한 정숫값이나 문자열이면 데이터값이 그대로 키값이 될 수 있음 배열 검색 선형 검색 직선 모양(선형)으..

검색 태그