책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 자료구조/알고리즘
· ISBN : 9791194587590
· 쪽수 : 260쪽
· 출판일 : 2025-09-26
책 소개
목차
옮긴이 머리말 ix
베타리더 후기 x
추천사 xii
머리말 xiv
감사의 글 xvi
이 책에 대하여 xviii
CHAPTER 01 자료구조 소개: 왜 자료구조를 배워야 할까? 1
여러분을 환영한다 1
자료구조란 무엇인가? 3
왜 자료구조에 관심을 가져야 할까? 4
프로젝트에서 자료구조를 어떻게 사용할까? 8
요약 14
CHAPTER 02 정적 배열: 자료구조의 시작점 15
배열이란 무엇인가? 15
파이썬의 배열 21
배열에 대한 작업 23
배열의 실제 활용 28
요약 31
CHAPTER 03 정렬된 배열: 빠른 검색과 효율적 데이터 관리 33
정렬된 배열의 의미는 무엇일까? 33
정렬된 배열 구현 34
요약 41
CHAPTER 04 Big-O 표기법: 알고리즘 효율성의 기본 원리 43
어떻게 최선의 선택을 할 수 있을까? 43
Big-O 표기법 46
점근적 분석의 예 55
요약 59
CHAPTER 05 동적 배열: 크기를 유연하게 조절하는 자료구조 60
정적 배열의 한계 61
배열의 크기를 어떻게 늘릴 수 있을까? 63
트로피 진열장 63
배열의 크기도 줄여야 할까? 68
동적 배열 구현하기 71
요약 76
CHAPTER 06 연결 리스트: 유연한 동적 컬렉션 77
연결 리스트 vs. 배열 78
단일 연결 리스트 80
정렬된 연결 리스트 88
이중 연결 리스트 90
순환 연결 리스트 97
요약 100
CHAPTER 07 추상 자료형: 단순한 컨테이너의 설계 원리 102
추상 자료형 vs. 자료구조 103
컨테이너 108
가장 기본적인 컨테이너: 가방 110
요약 115
CHAPTER 08 스택: 데이터 처리를 위한 쌓기 구조 117
추상 자료형으로서의 스택 118
자료구조로서의 스택 121
연결 리스트 구현 124
이론과 현실 127
추가적인 스택의 응용 129
요약 133
CHAPTER 09 스택: 데이터 처리를 위한 쌓기 구조 117
추상 자료형으로서의 큐 134
자료구조로서의 큐 138
구현 144
동적 배열은 어떨까? 150
큐의 더 많은 응용 152
요약 153
CHAPTER 10 스택: 데이터 처리를 위한 쌓기 구조 117
우선순위를 통해 큐 확장하기 154
우선순위 큐를 자료구조로 사용하기 157
힙 160
힙 구현 163
우선순위 큐의 실제 활용 173
요약 175
CHAPTER 11 스택: 데이터 처리를 위한 쌓기 구조 117
트리란 무엇인가? 176
이진 탐색 트리 180
균형 잡힌 트리 192
요약 195
CHAPTER 12 딕셔너리와 해시 테이블: 연관 배열을 구축하고 사용하는 방법 196
딕셔너리 문제 197
딕셔너리를 구현하는 자료구조 199
해시 테이블 201
해싱 204
충돌 해결 206
요약 213
CHAPTER 13 그래프: 복잡한 관계를 효율적으로 모델링하기 214
그래프란 무엇인가? 214
그래프 구현 221
그래프 탐색 225
남은 단계 232
요약 233
찾아보기 235
책속에서

이 책을 읽고 있다면, 아마도 우리가 흔히 말하는 ‘데이터 시대’에 살고 있다는 사실을 알고 있을 것이다. 이 시대에 데이터는 우리 삶에 없어서는 안 될 중요한 요소가 되었고, 기술 발전에 힘입어 정보의 생산 속도는 그 어느 때보다 기하급수적으로 증가하고 있다. 이 거대한 데이터의 흐름은 우리의 삶과 일, 서로 소통하는 방식까지 변화시키고 있다. / 이처럼 방대한 정보를 제대로 이해하고, 그에 압도당하지 않기 위해서는 정보를 효과적으로 구성하는 방법이 필요하다. 바로 여기서 자료구조가 등장한다. 자료구조는 컴퓨터나 프로그램이 정보를 저장하고 구성하는 방식으로, 데이터를 더 효율적으로 관리하고 조작할 수 있도록 도와준다.
많은 눈물과 투정 끝에 킴의 부모님은 마침내 킴의 새로운 트로피를 보관할 새로운 진열장을 제공하는 데 동의했다. 하지만 조건을 내걸었다. 기존의 진열장은 확장할 수 없고 폐기해야 하며, 새 진열장의 구입 비용과 기존 진열장의 폐기 비용을 킴의 저금통에 있는 돈으로 지불해야 한다는 것이다. 만약 그녀가 새 진열장을 살 돈이 부족하면, 그녀는 어쩔 수 없이 오래된 로봇 몇 대를 버려야 한다. / 그래서 킴은 장기적으로 최대한 돈을 아낄 수 있는 최적의 전략을 찾을 수밖에 없다(모듈형 가구를 사용하는 것은 어떨까 생각할 수도 있다. 그 말도 맞지만, 이 비유에서는 모듈형 설루션을 제공하지 않는다고 가정하자).




















