HOME > Detail View

Detail View

파이썬으로 배우는 자료 구조 핵심 원리 : 핵심 개념과 동작 원리로 이해하는 자료 구조 (Loan 2 times)

Material type
단행본
Personal Author
양태환
Title Statement
파이썬으로 배우는 자료 구조 핵심 원리 = Data structures with Python : 핵심 개념과 동작 원리로 이해하는 자료 구조 / 양태환 지음
Publication, Distribution, etc
서울 :   길벗,   2021  
Physical Medium
272 p. : 삽화 ; 24 cm
ISBN
9791165216450
General Note
색인수록  
000 00000cam c2200205 c 4500
001 000046092333
005 20210914110537
007 ta
008 210913s2021 ulka 001c kor
020 ▼a 9791165216450 ▼g 93000
035 ▼a (KERIS)BIB000015929160
040 ▼a 222003 ▼c 222003 ▼d 211009
082 0 4 ▼a 005.73 ▼2 23
085 ▼a 005.73 ▼2 DDCK
090 ▼a 005.73 ▼b 2021z1
100 1 ▼a 양태환
245 1 0 ▼a 파이썬으로 배우는 자료 구조 핵심 원리 = ▼x Data structures with Python : ▼b 핵심 개념과 동작 원리로 이해하는 자료 구조 / ▼d 양태환 지음
246 3 0 ▼a 자료 구조 핵심 원리
260 ▼a 서울 : ▼b 길벗, ▼c 2021
300 ▼a 272 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 색인수록
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.73 2021z1 Accession No. 121258085 Availability In loan Due Date 2021-10-30 Make a Reservation Available for Reserve R Service M

Contents information

Book Introduction

자료 구조를 좀 더 쉽게 공부하기 위해 단순히 자료 구조의 구현에 집중하기보다는 “인덱스는 어떻게 작동하기에 데이터베이스의 성능을 좋게 만들 수 있을까?”라는 한 가지 질문을 던져 놓고 이 질문의 답을 찾아가는 과정을 담았다. 모든 자료 구조를 다루진 않지만 이 과정에서 다룰 수 있는 여러 가지 자료 구조를 배우며, 개념을 확장해 나가는 방식으로 설명한다.

빅오, 재귀 함수에서부터 다양한 그래프 알고리즘까지 그림 184개로 필수 자료 구조의 핵심 개념을 익힌 후 파이썬으로 구현한 코드도 직접 확인하고 실행해 볼 수 있다. 또한, 실제 자료 구조를 어디에 어떻게 활용할 수 있는지도 엿볼 수 있다. 이 책이 자료 구조를 학습하려는 분들에게 시작점이자 다른 유명한 자료 구조 책을 볼 수 있게 해주는 징검다리 역할을 해줄 것이다.

재귀 함수부터 다양한 그래프 알고리즘까지!
핵심 개념과 동작 원리로 이해하는 자료 구조 첫걸음!


유명한 자료 구조 책들이 여러 권 있지만, 방대한 양에 읽다 지치기 쉽다. 그래서 자료 구조를 좀 더 쉽게 공부하기 위해 단순히 자료 구조의 구현에 집중하기보다는 “인덱스는 어떻게 작동하기에 데이터베이스의 성능을 좋게 만들 수 있을까?”라는 한 가지 질문을 던져 놓고 이 질문의 답을 찾아가는 과정을 담았다. 모든 자료 구조를 다루진 않지만 이 과정에서 다룰 수 있는 여러 가지 자료 구조를 배우며, 개념을 확장해 나가는 방식으로 설명한다. 빅오, 재귀 함수에서부터 다양한 그래프 알고리즘까지 그림 184개로 필수 자료 구조의 핵심 개념을 익힌 후 파이썬으로 구현한 코드도 직접 확인하고 실행해 볼 수 있다. 또한, 실제 자료 구조를 어디에 어떻게 활용할 수 있는지도 엿볼 수 있다. 이 책이 자료 구조를 학습하려는 분들에게 시작점이자 다른 유명한 자료 구조 책을 볼 수 있게 해주는 징검다리 역할을 해줄 것이다.

인덱스는 어떻게 작동하기에 데이터베이스의 성능을
좋게 만들 수 있을까?

이 질문에 대한 답을 찾아가는 과정을 담았다!

유명한 자료 구조 책들이 여러 권 있지만 방대한 양에 읽다 지치기 쉽다. 그래서 자료 구조를 좀 더 쉽게 공부하기 위해 단순히 자료 구조의 구현에 집중하기보다는 “인덱스는 어떻게 작동하기에 데이터베이스의 성능을 좋게 만들 수 있을까?”라는 한 가지 질문을 던져 놓고 이 질문의 답을 찾아가는 과정을 담았다. 이 과정에서 여러 가지 자료 구조를 배우며 개념을 확장해 나가는 방식으로 설명한다.

재귀 함수부터 그래프 알고리즘까지!
1~8장은 재귀 함수, 성능 분석, 배열, 연결 리스트, 스택, 큐와 같은 자료 구조 기본 내용을 다루며, 자료 구조를 제대로 이해하기 위해 메모리, 그중에서도 지역성의 원리, 메모리 계층 구조에 대해서도 함께 설명한다. 책의 핵심인 9~10장은 레드 블랙 트리와 B 트리를 자세하게 다룬다. 마지막으로 11~14장은 좀 더 다양한 트리와 그래프 알고리즘을 설명하는데, 이 내용은 어렵다면 나중에 천천히 공부하면 된다. 10장까지 이해한 것만으로도 이 책의 목적은 달성한 것이다.

그림 184개와 파이썬 코드로 배운다!
그림으로 핵심 개념을 설명하고, 이를 파이썬 코드로 어떻게 구현할 수 있는지 보여 준다. 또한, 마지막 장에서는 실제 자료 구조가 활용된 사례를 보여 주어 자료 구조를 어디에 어떻게 활용할 수 있는지 엿볼 수 있다.

[베타 후기]
파이썬이 인공지능을 필두로 다양한 분야에서 활용되기 시작하면서 대표적인 프로그래밍 언어 중 하나가 되었습니다. 하지만 아직 C 언어나 자바 같은 언어들로 된 자료 구조 책이 대부분이며, 파이썬을 이용한 자료 구조 책은 많지 않습니다. 이 책은 그런 면에서 파이썬 개발자를 꿈꾸는 수많은 이들에게 단비가 될 것입니다. 저자는 ‘개발자라면 누구나 한 번쯤 궁금해 할 만한 질문’을 하나 던져 주고, 이 문제의 답을 찾아가는 과정으로 자료 구조를 설명합니다. 책과 함께 문제를 해결하면서 원리를 익히다 보면 자연스럽게 좀 더 좋은 소프트웨어를 만드는 파이썬 개발자가 되어 있을 것이라고 생각됩니다.
김민규_큐셀네트웍스 프로그래머

현업에서 파이썬을 이용하여 코딩하면서 자료 구조의 중요성을 종종 느꼈습니다. 효과적으로 코딩하려면 자료 구조는 꼭 알아야 하는 필수 개념입니다. 저는 컴퓨터 전공이 아니기 때문에 자료 구조의 개념 자체가 낯설었고 공부하면서도 어려움을 느꼈습니다. 여러 가지 자료 구조 책을 보았지만 시중에 있는 다른 자료 구조 책에는 너무 많은 개념을 이해하기 어렵게 설명하고 있어 학습하기에 힘들었습니다. 반면, 이 책은 저자의 의도에 맞게 필수적인 자료 구조 개념들만 여러 가지 예제와 그림으로 쉽게 설명하고 있습니다. 또 자료 구조 책들은 대부분 C나 자바로 설명이 되어 있는데, 책에서는 예제들이 파이썬으로 되어 있어 개념을 이해하기가 수월했습니다. 저와 같이 자료 구조에 대해 공부하고 싶은 비전공자들에게 혹은 코딩 테스트를 준비하는 사람들에게 자료 구조 입문서로 추천합니다.
이혜민_LG디스플레이 데이터 분석가

파이썬을 이용해서 다양한 자료 구조를 자세하게 다루는, 제목에 충실하고 친절한 책입니다. 파이썬이라는 도구를 사용하는 것일 뿐, 다른 언어에서도 통용되는 자료 구조들이기에 다른 언어를 알고 있다면 기본적인 파이썬 지식만으로도 충분히 학습할 수 있습니다. 실무를 하다 보면 좀 더 효율적인 코드를 구현하기 위해 고민하게 되고, 그런 과정에서 적절한 자료 구조의 선택은 무척 중요합니다. 이 책은 세상의 모든 자료 구조를 다루지는 않습니다. 하지만 자주 쓰는 자료 구조들을 골라 그 자료 구조의 필요성과 필요한 메서드들에 대해 근거와 사용 예시를 제시합니다. 코딩 테스트용 책이 아니어서 자료 구조의 원리와 필요성에 집중하기에 개인적으로는 과외를 받는 기분으로 알아 가는 것에 즐거움을 느끼며 학습할 수 있었습니다. 이 책으로 자료 구조에 익숙해진다면, 자료 구조 때문에 스트레스를 받을 일은 현저히 적어지고 자신감이 붙을 것이라고 확신합니다.
조선민_백엔드 개발자

개발자가 ‘코더’를 벗어나 ‘프로그래머’가 되기 위해 넘어야 할 산이 두 개 있습니다. 바로 ‘자료 구조’와 ‘알고리즘’이죠. 하지만 결코 쉽지 않은 산이기에 많은 사람이 좌절하곤 합니다. 이 책에서는 이 산 두 개가 결코 넘지 못할 것이 아님을 잘 보여 줍니다. 개인적으로는 추상적으로 이해했던 자료 구조와 알고리즘을 더 구체적으로 이해할 수 있었습니다. 파이썬 코드로 ‘자료 구조’와 ‘알고리즘’을 설명하는 점도 좋았습니다. 이 책이 ‘코더’에서 ‘프로그래머’로 성장하는 디딤돌이 될 것입니다.
김동우_프리랜서

컴퓨터 공학과 학생과 비전공자를 포함한 많은 사람이 자료 구조를 배울 때 개념과 코드만 많이 배웁니다. 하지만 왜 배우는지 그 필요성은 깊게 생각하지 못하는 것 같아 안타까웠습니다. 이 책에서는 프림 알고리즘이나 다익스트라 알고리즘 같은 고급 알고리즘과 함께 기존 자료 구조의 방향을 말해 주는 것뿐만 아니라, 데이터 업계에서 쓸 수 있을 만한 자료 구조의 방향성도 함께 제시해 주고 있습니다. 기존 자료 구조를 넘어서서 자료 구조가 정말로 왜 필요하고 어떤 상황에서 사용될 수 있는지 실무적으로 고민할 수 있는 책입니다.
조대희_코드스테이츠 데이터 엔지니어


Information Provided By: : Aladin

Author Introduction

양태환(지은이)

개발, 육아, 공부를 병행하느라 바쁜 직장인 프로그래머다. 게임, 네트워크, 운영 체제 등 관심 분야가 많아 즐겁게 프로그래밍하고 있다. 『컴퓨터 사이언스 부트캠프 with 파이썬』(길벗, 2018)을 집필했다.

Information Provided By: : Aladin

Table of Contents

1장 재귀 함수
1.1 재귀 함수: 자신을 호출하는 신기한 함수
__1.1.1 재귀 함수로 팩토리얼 구현하기
__1.1.2 스택 프레임으로 재귀 함수 이해하기
__1.1.3 순열을 재귀 함수로 구현하기: 재귀 트리 사용하기

2장 성능 분석
2.1 자료 구조 성능 이야기: 빅오
__2.1.1 알고리즘 성능 분석
__2.1.2 성능을 비교하는 방법: 빅오
__2.1.3 방심은 금물!: 빅오의 함정
2.2 추상 데이터 타입이란

3장 배열: 변수가 한곳에 모여 있으면 빠르다!
3.1 동적 배열이란
3.2 지역성의 원리와 캐시
3.3 인덱싱: 데이터에 빠르게 접근한다!
3.4 동적 배열에서 데이터의 삽입과 삭제 1
3.5 동적 배열에서 데이터의 삽입과 삭제 2

4장 연결 리스트: 삽입과 삭제를 빠르게 할 수 없을까?
4.1 연결 리스트 이해하기
4.2 동적 배열과 연결 리스트
4.3 더미 이중 연결 리스트

5장 스택과 큐, 그리고 덱
5.1 스택: 데이터를 차곡차곡 쌓는다
__5.1.1 스택 구현: 동적 배열을 이용하여 구현하기
5.2 큐: 데이터로 줄 세우기
__5.2.1 큐 구현 1: 동적 배열을 단순하게 사용해서 구현하기
__5.2.2 큐 구현 2: 원형 큐로 구현하기
5.3 덱: 스택으로도 큐로도 사용할 수 있는 덱

6장 그래프: 관련 있는 데이터 연결하기
6.1 그래프 용어 정리
6.2 그래프를 표현하는 두 가지 방법: 도시와 도시를 이어 보자
6.3 그래프의 모든 노드 방문: 모든 도시를 여행해 보자
__6.3.1 너비 우선 탐색: 인근 도시부터 여행하기
__6.3.2 깊이 우선 탐색: 한 방향으로 쭉 따라 여행하기

7장 트리: 정말 쓸 데가 많은 자료 구조
7.1 트리 용어 정리
7.2 이진 트리의 순회: 모든 노드 방문하기
__7.2.1 전위 순회
__7.2.2 중위 순회
__7.2.3 후위 순회
__7.2.4 레벨 순서 순회

8장 다양한 트리 1: 이진 탐색 트리
8.1 이진 탐색 알고리즘
8.2 딕셔너리의 내부 구현
8.3 이진 탐색 트리
8.4 이진 탐색 트리의 구현
8.5 이진 탐색 트리의 단점

9장 다양한 트리 2: 레드 블랙 트리
9.1 어떻게 균형을 맞출 것인가?
9.2 레드 블랙 트리
9.3 레드 블랙 트리의 구현

10장 다양한 트리 3: B 트리
10.1 메모리 계층 구조
10.2 데이터베이스에 데이터 삽입, 탐색, 삭제해 보기
10.3 B 트리
10.4 B 트리에 키 삽입·삭제하기
10.5 B+ 트리
10.6 B 트리로 인덱스 만들기

11장 다양한 트리 4: 힙과 우선순위 큐
11.1 힙
11.2 우선순위 큐

12장 다양한 그래프 알고리즘 1: 위상 정렬
12.1 위상 정렬

13장 다양한 그래프 알고리즘 2: 최소 비용 신장 트리
13.1 탐욕 알고리즘
13.2 크루스칼 알고리즘
__13.2.1 그래프의 표현
__13.2.2 분리 집합: 사이클이 형성되는지 어떻게 확인하지?
__13.2.3 크루스칼 알고리즘 구현
13.3 프림 알고리즘
__13.3.1 가중치가 가장 작은 에지를 찾는 방법
__13.3.2 프림 알고리즘 구현

14장 다양한 그래프 알고리즘 3: 최단 경로
14.1 데이크스트라 알고리즘
14.2 BFS와 프림 알고리즘, 그리고 데이크스트라 알고리즘

15장 자료 구조가 적용된 실제 사례
15.1 생산자 -소비자 패턴: 큐
15.2 자바스크립트 엔진: 스택과 큐

New Arrivals Books in Related Fields

Ramamurthy, Bina (2021)