책소개
"파이썬 프로그래밍과 알고리즘 핵심만 쏙쏙쏙
자료구조와 알고리즘은 개발자의 기본 소양이다. 나날이 인기를 얻고 있는 파이썬은 거의 의사코드 그대로 로직을 작성할 수 있다는 점에서 알고리즘 학습에도 유용하다. 이 책은 파이썬을 십분 활용해 필수적인 자료구조와 알고리즘을 두루 살펴본다.
파이썬 문법을 갓 뗀 독자를 위해 파이썬의 내장 데이터 타입, 객체지향, 동시성 등 파이썬 기초 및 고급 주제를 설명한다. 이어서 스택, 큐, 연결 리스트, 해시 테이블 등 추상 데이터 타입을 익히고 파이썬으로 구현해보며, 나아가 정렬, 검색, 동적 계획법, 그래프, 트리 등 개발자가 꼭 알아야 할 알고리즘들의 핵심을 짚어본다. 풀이 과정을 그린 그림으로 이해를 돕고, 모든 예제에 대해 파이써닉한 코드를 함께 수록했다. 일부 장은 연습문제와 해답도 제공한다.
주요 내용
●숫자, 시퀀스, 컬렉션 등 파이썬의 데이터 타입
●모듈, 클래스, 객체지향 등 설계에 필요한 지식
●동시성, 가상 환경, 단위 테스트 등 고급 주제
●스택, 큐, 데크, 연결 리스트, 해시 테이블 등 추상 데이터 타입
●2차, 선형, 로그 선형 등 점근적 분석을 통한 시간복잡도 이해
●다양한 시간복잡도의 정렬/검색 알고리즘
●동적 계획법과 메모이제이션
●그래프/트리 용어 이해 및 트리 순회 알고리즘 구현"
저자소개
서프라인(Surfline)의 시니어 소프트웨어 보안 엔지니어. 이전에는 엣시, 애플, 옐프 등에서 근무했다. 고교 시절부터 리눅스로 해킹과 코딩을 즐겼고 2014년 리커스 센터(Recurse Center)를 졸업했다. 2015년 데프 콘(DEF CON)에 참가해 자신과 같은 괴짜들을 만났고 양자 암호학에 관해 발표했다. 주요 관심 분야는 보안과 인공지능/머신러닝/딥러닝이다. 로스앨러모스 국립연구소, 브룩헤이븐 국립연구소, NASA 등에서 연구했다.
목차
[PART 01 헬로, 자료구조!]
CHAPTER 01 숫자
1.1 정수
1.2 부동소수점
1.3 복소수
1.4 fraction 모듈
1.5 decimal 모듈
1.6 2진수, 8진수, 16진수
1.7 연습문제
1.8 넘파이 패키지
CHAPTER 02 내장 시퀀스 타입
2.1 깊은 복사와 슬라이싱 연산
2.2 문자열
2.3 튜플
2.4 리스트
2.5 바이트와 바이트 배열
2.6 연습문제
CHAPTER 03 컬렉션 자료구조
3.1 셋
3.2 딕셔너리
3.3 파이썬 컬렉션 데이터 타입
3.4 연습문제
CHAPTER 04 구조와 모듈
4.1 모듈
4.2 제어문
4.3 파일 처리
4.4 오류 처리
CHAPTER 05 객체지향 설계
5.1 클래스와 객체
5.2 객체지향 프로그래밍의 원리
5.3 디자인 패턴
CHAPTER 06 파이썬 고급 주제
6.1 멀티 프로세스와 멀티 스레드
6.2 좋은 습관
6.3 단위 테스트
[PART 02 알고리즘 세상 속으로]
CHAPTER 07 추상 데이터 타입
7.1 스택
7.2 큐
7.3 데크
7.4 우선순위 큐와 힙
7.5 연결 리스트
7.6 해시 테이블
7.7 연습문제
CHAPTER 08 점근적 분석
8.1 복잡도 종류
8.2 재귀 알고리즘
8.3 함수의 실행 시간
CHAPTER 09 정렬
9.1 2차 정렬
9.2 선형 정렬
9.3 로그 선형 정렬
9.4 시간복잡도 비교
9.5 연습문제
CHAPTER 10 검색
10.1 정렬되지 않은 배열
10.2 정렬된 배열
10.3 연습문제
CHAPTER 11 동적 계획법
11.1 메모이제이션
11.2 연습문제
[PART 03 아름다운 그래프와 트리의 세계]
CHAPTER 12 그래프 기초
12.1 용어
12.2 이웃 함수
12.3 트리와의 연결점
CHAPTER 13 이진 트리
13.1 용어
13.2 이진 트리 구현하기
13.3 이진 탐색 트리
13.4 자가 균형 이진 탐색 트리
CHAPTER 14 트리 순회
14.1 깊이 우선 탐색
14.2 너비 우선 탐색
14.3 트리 순회 구현하기
14.4 연습문제
CHAPTER 15 한국어판 부록 : 참고 자료