본문 바로가기
[Book]

[독서: 자료구조] 누구나 자료구조와 알고리즘

by Inkim 2020. 6. 6.

누구나 자료 구조와 알고리즘

제이 웬그로우 지음 | 심지현 역 | 길벗 |

2018년 6월 30일 | 308p | 원서 : A Common-Sense Guide to Data Structures and Algorithms

완독일 : 2020. 06. 06

 

목차


1장 자료 구조가 중요한 까닭
__1.1배열: 기초 자료 구조
__1.2읽기
__1.3검색
__1.4삽입
__1.5삭제
__1.6집합: 단 하나의 규칙이 효율성을 바꾼다
__1.7마무리

2장 알고리즘이 중요한 까닭
__2.1정렬된 배열
__2.2정렬된 배열의 검색
__2.3이진 검색
__2.4이진 검색 대 선형 검색
__2.5마무리

3장 빅 오 표기법
__3.1빅 오: 단계 수 계산
__3.2상수 시간과 선형 시간
__3.3같은 알고리즘, 다른 시나리오
__3.4세 번째 유형의 알고리즘
__3.5로가리즘
__3.6O(log N) 해석
__3.7실제 예제
__3.8마무리

4장 빅 오로 코드 속도 올리기
__4.1버블 정렬
__4.2버블 정렬 실제로 해보기
__4.3버블 정렬 구현
__4.4버블 정렬의 효율성
__4.5이차 문제
__4.6선형 해결법
__4.7마무리

5장 빅 오를 사용하거나 사용하지 않는 코드 최적화
__5.1선택 정렬
__5.2선택 정렬 실제로 해보기
__5.3선택 정렬 구현
__5.4선택 정렬의 효율성
__5.5상수 무시하기
__5.6빅 오의 역할
__5.7실제 예제
__5.8마무리

6장 긍정적인 시나리오 최적화
__6.1삽입 정렬
__6.2삽입 정렬해보기
__6.3삽입 정렬 구현
__6.4삽입 정렬의 효율성
__6.5평균적인 경우
__6.6실제 예제
__6.7마무리

7장 해시 테이블로 매우 빠른 룩업
__7.1해시 테이블 소개
__7.2해시 함수로 해싱
__7.3재미와 이익, 특히 이익을 남길 유의어 사전 만들기
__7.4충돌 해결
__7.5훌륭한 충돌 조정
__7.6실제 예제
__7.7마무리

8장 스택과 큐로 간결한 코드 생성
__8.1스택
__8.2스택 다뤄보기
__8.3큐
__8.4큐 다뤄보기
__8.5마무리

9장 재귀를 사용한 재귀적 반복
__9.1루프 대신 재귀
__9.2기저 조건
__9.3재귀 코드 읽기
__9.4컴퓨터의 눈으로 바라본 재귀
__9.5재귀 다뤄보기
__9.6마무리

10장 속도를 높이는 재귀 알고리즘
__10.1분할
__10.2퀵 정렬
__10.3퀵 정렬의 효율성
__10.4최악의 시나리오
__10.5퀵 셀렉트
__10.6마무리

11장 노드 기반 자료 구조
__11.1연결 리스트
__11.2연결 리스트 구현
__11.3읽기
__11.4검색
__11.5삽입
__11.6삭제
__11.7연결 리스트 다뤄보기
__11.8이중 연결 리스트
__11.9마무리

12장 이진 트리로 속도 향상
__12.1이진 트리
__12.2검색
__12.3삽입
__12.4삭제
__12.5이진 트리 다뤄보기
__12.6마무리

13장 그래프로 뭐든지 연결하기
__13.1그래프
__13.2너비 우선 탐색
__13.3그래프 데이터베이스
__13.4가중 그래프
__13.5데이크스트라의 알고리즘
__13.6마무리

14장 공간 제약 다루기
__14.1공간 복잡도에 빅 오 표기법 적용
__14.2시간과 공간 트레이드오프
__14.3마치면서

 

---------------------------------------------------------------------------------------------------------------
자료구조와 알고리즘을 시작하기전 아무것도 모르는 초보가 입문으로 시작하기 좋을 것 같다.

해당 자료구조의 특징, 성능을 어려운 수학 용어 없이 명확하고 쉽게 이해시킨다.

분량도 얇고 적당해서 점심에 틈틈히 읽기 좋았던 듯.

개인적으로 만족도가 높았다:)