Skip to Content
알고리즘 학습
book

알고리즘 학습

by George Heineman
May 2025
Beginner to intermediate
280 pages
4h 33m
Korean
O'Reilly Media, Inc.
Book available
Content preview from 알고리즘 학습

8장. 마무리하기

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

이 책의 목표는 컴퓨터 과학에서 사용되는 기본 알고리즘과 필수 데이터 유형을 소개하는 것이었습니다. 코드의 성능을 극대화하려면 다음 데이터 유형을 효율적으로 구현하는 방법을 알아야 합니다:

가방

링크된 목록은 값을 추가할 때 O(1) 성능을 보장합니다. 배열을 사용하기로 선택한 경우 기하학적 크기 조정을 사용하여 배열의 크기를 확장해야 평균 사용량에 비해 상각된 O(1) 성능을 보장할 수 있습니다(드물게 발생하는 크기 조정 이벤트에서는 여전히 O(N) 런타임 성능이 발생하지만). 백은 일반적으로 값을 제거할 수 없으며 중복된 값이 추가되는 것을 방지하지도 못한다는 점에 유의하세요.

스택

링크된 목록은 값을 스택에 저장할 수 있으므로 push()pop()은 O(1) 런타임 성능을 갖습니다. 스택은 값을 푸시하고 팝하는 스택의 top 을 기록합니다.

대기열

링크된 목록은 큐를 효율적으로 저장할 수 있으므로 enqueue()dequeue() 의 런타임 성능은 O(1)입니다. 큐는 연결된 목록에 firstlast 노드를 기록하여 큐에서 값을 효율적으로 추가하고 제거합니다.

기호 표

심볼 테이블의 개방형 주소 지정 방식은 (키, 값) 쌍을 분배하는 적절한 해시 함수를 통해 놀라울 정도로 효율적입니다. 하지만 스토리지의 크기를 두 배로 늘리려면 기하학적 크기 조정이 필요하므로 이러한 크기 조정 이벤트의 빈도를 효과적으로 줄일 수 있습니다.

우선순위 대기열

힙 데이터 구조는 (값, 우선순위) 쌍을 저장하여 O(log N) 런타임 성능으로enqueue()dequeue() 을 지원할 수 있습니다. 대부분의 경우 저장할 최대 값 수인 N을 미리 알 수 있지만, 그렇지 않은 경우 기하학적 크기 조정 전략을 사용하여 크기 조정 이벤트 수를 최소화할 수 있습니다.

인덱싱된 최소 우선순위 대기열

이 데이터 유형을 구현하면 힙 데이터 구조와 힙에 있는 각 값의 인덱스 위치를 저장하는 별도의 심볼 테이블이 결합됩니다. 그래프 알고리즘의 경우, 인덱싱된 최소 우선순위 큐에 저장할 값의 최대 개수인 0에서 N - 1 범위의 정수 노드 레이블만 저장하는 것이 일반적입니다(여기서 N은 인덱싱된 최소 우선순위 큐에 저장할 값의 최대 개수). 이 경우 별도의 심볼 테이블을 배열로 구현하여 매우 효율적으로 조회할 수 있습니다. enqueue() , dequeue(),decrease_priority() 를 O(log N) 런타임 성능으로 지원합니다.

그래프

인접 행렬 구조는 그래프에 가능한 모든 에지가 존재할 때 적합하며, 이는 최단 거리를 계산하는 알고리즘의 일반적인 사용 사례입니다. 노드가 0에서 N - 1 범위의 정수로 표현되는 경우 2차원 배열을 사용하여 인접 행렬을 저장할 수 있습니다. 그러나 대부분의 경우 인접성 목록 구조가 그래프를 저장하는 데 더 적합하며, 심볼 테이블을 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

자바에서 코틀린으로

자바에서 코틀린으로

덩컨 맥그레거, 냇 프라이스
진화적 아키텍처

진화적 아키텍처

닐 포드, 레베카 파슨스, 패트릭 쿠아
고성능 파이썬(2판)

고성능 파이썬(2판)

오현석, 미샤 고렐릭, 이안 오스발트

Publisher Resources

ISBN: 9798341654648Supplemental Content