메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

파이썬 자료구조와 알고리즘 : 기초 튼튼, 핵심 쏙쏙, 실력 쑥쑥

한빛미디어

번역서

판매중

  • 저자 : 미아 스타인
  • 번역 : 최길우
  • 출간 : 2019-07-03
  • 페이지 : 360 쪽
  • ISBN : 9791162241912
  • 물류코드 :10191
초급 초중급 중급 중고급 고급
4.6점 (9명)
좋아요 : 0

기초 튼튼, 핵심 쏙쏙, 실력 쑥쑥 

파이써닉한 코딩으로 배우는 핵심 알고리즘 

 

이 책은 파이썬을 십분 활용해 필수적인 자료구조와 알고리즘을 두루 살펴본다. 스택, 큐, 연결 리스트 등 추상 데이터 타입과 정렬, 검색, 동적 계획법, 그래프, 트리 등 개발자가 꼭 알아야 할 알고리즘 핵심을 짚는다. 모든 알고리즘은 파이써닉한 코드로 전체를 구현했고 일부 장은 연습문제도 제공한다. 파이썬에 능숙하지 않은 독자를 위해 파이썬의 내장 데이터 타입, 객체지향, 동시성 등 파이썬 중고급 주제도 앞부분에서 설명한다. 

 

 

상세-이미지.jpg

 

저자

미아 스타인

서프라인(Surfline)의 시니어 소프트웨어 보안 엔지니어. 이전에는 엣시, 애플, 옐프 등에서 근무했다. 고교 시절부터 리눅스로 해킹과 코딩을 즐겼고 2014년 리커스 센터(Recurse Center)를 졸업했다. 2015년 데프 콘(DEF CON)에 참가해 자신과 같은 괴짜들을 만났고 양자 암호학에 관해 발표했다. 주요 관심 분야는 보안과 인공지능/머신러닝/딥러닝이다. 로스앨러모스 국립연구소, 브룩헤이븐 국립연구소, NASA 등에서 연구했다.

역자

최길우

클라우드 업계에서 솔루션즈 아키텍트로 근무하다가 현재는 어느 스타트업에서 솔루션 엔지니어로 평범한 직장인의 삶을 살고 있다. 개발자 옆에서 가끔씩 코드를 보고 간단한 쿼리를 수행하고 로그를 살펴보며 개발 외 이런저런 잡무를 담당하고 있다. 번역서로는 『우아한 사이파이』, 『Head First C# 3판』, 『처음 시작하는 파이썬』(이상 한빛미디어) 등이 있다. 

[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 한국어판 부록 : 참고 자료

파이썬 프로그래밍과 알고리즘 핵심만 쏙쏙쏙 

 

자료구조와 알고리즘은 개발자의 기본 소양이다. 나날이 인기를 얻고 있는 파이썬은 거의 의사코드 그대로 로직을 작성할 수 있다는 점에서 알고리즘 학습에도 유용하다. 이 책은 파이썬을 십분 활용해 필수적인 자료구조와 알고리즘을 두루 살펴본다. 

파이썬 문법을 갓 뗀 독자를 위해 파이썬의 내장 데이터 타입, 객체지향, 동시성 등 파이썬 기초 및 고급 주제를 설명한다. 이어서 스택, 큐, 연결 리스트, 해시 테이블 등 추상 데이터 타입을 익히고 파이썬으로 구현해보며, 나아가 정렬, 검색, 동적 계획법, 그래프, 트리 등 개발자가 꼭 알아야 할 알고리즘들의 핵심을 짚어본다. 풀이 과정을 그린 그림으로 이해를 돕고, 모든 예제에 대해 파이써닉한 코드를 함께 수록했다. 일부 장은 연습문제와 해답도 제공한다. 

 

주요 내용

  • 숫자, 시퀀스, 컬렉션 등 파이썬의 데이터 타입
  • 모듈, 클래스, 객체지향 등 설계에 필요한 지식
  • 동시성, 가상 환경, 단위 테스트 등 고급 주제
  • 스택, 큐, 데크, 연결 리스트, 해시 테이블 등 추상 데이터 타입
  • 2차, 선형, 로그 선형 등 점근적 분석을 통한 시간복잡도 이해
  • 다양한 시간복잡도의 정렬/검색 알고리즘
  • 동적 계획법과 메모이제이션
  • 그래프/트리 용어 이해 및 트리 순회 알고리즘 구현

  • book2.png

     

    이번 에 읽은 파이썬 자료구조와 알고리즘” (미아 스타인 지음/ 최우길 옮김)을한마디로 이야기하면 파이썬 활용 사전이라고 할 수 있다. 많은 파이썬 입문/활용서가 장황한 설명과 함께 예제를 하나 하나설명하는 방식인데 반해, 이 책은 필요한 내용만을 언제든 찾아서 볼 수 있는 사전 같은 구성이 특징이다. 옮긴이의 말을 빌면, 파이썬과 자료구조 및 알고리즘을 동시에 습득하고자하는 독자 혹은 개발자/엔지니어 면접을 준비하는 독자에게 적합한 책이라고 한다. 파이썬에 대해 아예 기초가 없는 초보자에게는 다소 어려울 수 있지만, 파이썬이상대적으로 배우기 쉬운 언어이고, 시작하고자 할 때 참고할 만한 자료가 넘치는 것을 감안해 본다면 수긍이가기도 한다. 특히나 이미 파이썬을 알고 있지만, 파이썬의다양한 쓰임새를 미처 맛보지 못한 초/중급 개발자에게 보다 넓은 시야를 갖게 하는 데 있어서는 이만한책도 없는 것 같다.

     책은15개의 챕터로 구성된다. 마지막 15장이 한국어판 부록으로 참고자료를 간략히 다루는 것을 빼면, 14개의큰 분야에 대해 다양한 주제를 다루고 있다. 책의 초반은 숫자, 내장시퀀스 타입, 컬렉션 자료 구조, 구조와 모듈에 대해 제1장에서 제 4장에 걸쳐 파이썬의 기본 데이터 타입을 이용한기본기를 다지는 데 할애한다. 5장부터는 단순히 자료구조 책이라고 하기엔 좀더 심오한 주제인 객체지향설계, 멀티 프로세스와 멀티 스레드 등 파이썬의 고급주제로 발전해 나간다. 그 이후는 알고리즘 파트에 대한 이야기가 펼쳐지는데 제 7장부터는 추상 데이터 타입, 점근적 분석, 정렬, 검색 그리고 동적 계획법에 대해 다룬다. 마지막 파트의 주제는 자료구조 및 알고리즘에서 빼 놓을 수 없는 그래프와 트리이다.

     360여페이지 밖에 안되는 작은 책에 이렇게 많은 주제를 충실히 다루고 있는 데서, 지은이의 내공이 느껴지며, 옮긴이의 번역 역시 칭찬하지 않을 수 없다. 딱딱하고 무미 건조하기쉬운 기술서의 내용을 EBS 인터넷 강의를 보는 듯한 느낌으로 풀어내어 읽기에 부담이 없었다. 파이썬에 대해 좀더 깊이 알고 싶고, 보다 효율적으로 문제를 해결하고자하는 파이써니스트라면 곁에 두고 자주 찾아 볼 만한 책이다.

     

  •  

    파이썬으로 자료구조까지

     

    정녕 개발자가 아닌데도 요새 가장 뜨거운 파이썬과 거기에 기본이 된다는 자료구조까지 올 것이 온 것이다.

    그러기에 더 더욱 도전이 되는 책이다.

     

    기초 튼튼. 핵심 쏙쏙 실력 쑥쑥 책표지에 제대로 정보가 정리되어 있다.

     

    1.jpg

     

    최근에 만난 가장 핵심만 정리되어 있는 책이라는 것이다.

     

    2.jpg

    넌 지금 알고리즘이 땡긴다. 첫 표지만 보고도 이렇게 많은 의미가 내포되어있는 것이다.

     

    3.jpg

     

    뒷표지도 시대감각이 있음이다.

    주요내용이 바로

    -숫자, 시퀀스, 컬렉션 등 파이썬의 데이터 타입

    -모듈, 클래스, 객체지향 등 설계에 필요한 지식

    -동시성, 가상환경, 단위 테스트 등 고급 주제

    -스택, 큐, 데크, 연결리스트, 해시 테이블 등 추상 데이터 타입

    -2차, 선형, 로그 선형 등 접근적 분석을 통한 시간복잡도 이해

    -다향한 시간복잡도의 정렬/검색 알고리즘

    -동적 계획법과 메모이제이션

    -그래프/트리 용어 이해 및 트리 순회 알고리즘 구현

     

    4.jpg

     

    상세하게 설명이 되어 있다.

    이것은 자료구조책인가 코딩책인가?

     

    5.jpg

     

    저자 이야기

    6.jpg

    하얀 책표지

    7.jpg

    초판 서문

    8.jpg

     

    목차

    9.jpg

     

    책장에 꼽았을때 이런 느낌

     

    10.jpg

     

    상세 내용

    12.jpg

     

    한빛미디어의 최고는 바로 미리 보기

    이책이 어떤 책인지 알수 있다는 것이다.

    http://preview2.hanbit.co.kr/books/wpso/

     

    그림1.png

     

    그림2.png

     

    크기도 그리 크지 않고 어려모로 도움이 되는 책이다.

    소실때 배웠던 자료구조보다 훨씬 더 세련되어 진 책이다.

     

  • 20190809_131036.jpg

     

    빠르고 간단하게 파이썬을 훑어볼 있는 책입니다.

     

    보통 자료구조, 알고리즘 책과 달리 책이 작습니다.

    주제에 대해 자세하게 설명하지는 않지만 중요 내용을 빠르게 있다는 장점이 있습니다.

     

    초반부에는 파이썬의 내장 데이터 타입들을 사용하는 방법을 설명하고, 중반부에는 디자인 패턴, 멀티 프로세스/스레드, 테스트등에 대한 설명 그리고 후반부에는 직접 자료구조와 알고리즘을 구현해 있도록 되어 있습니다.

     

    책에서는 파이썬 코드가 많은 부분을 차지하고 있습니다. 파이썬에 맞게 짜여진 코드를 보며 이해할 있는 부분은 책의 장점이라고 생각합니다.

     

    다른 프로그래밍 언어 사용 경험이 있고 파이썬을 처음 시작하시는 분이나, 파이썬을 다시 한번 살펴보고 싶은 분들에게 추천합니다.

     

  • 개발 분야에서 자료 구조와 알고리즘은 무척 중요하다. 어플리케이션을 개발할 때 어떠한 자료 구조와 알고리즘을 사용하느냐에 따라서 엄청한 성능 차이가 발생한다. 그리고 요즘 개발 회사에서는 수많은 지원자들로 부터 이러한 기본 지식을 잘 알고 있는 인재들을 찾기 위해 코딩 면접을 도입하고 있다. 그러므로 개발 회사에 취직을 원하는 사람들은 꼭 자료 구조와 알고리즘을 공부하도록 하자!

     

    개인적으로 자료 구조나 알고리즘을 공부하는데 있어서 파이썬을 선호한다. 기본적으로 언어가 배우기 쉽고 많은  자료 구조를 제공하고 있어서 알고리즘 문제 풀이에 집중할 수 있기 때문이다.

     

    이 책은 크게 3가지 파트(자료 구조, 알고리즘, 그래프)로 구성되어 있다. 자료 구조 파트에서는 파이썬에서 제공하는 주요 자료 구조의 사용법과 각각의 기능 (데이터 추가, 삭제, 검색 등) 수행 시의 시간 복잡도를 잘 설명해주고 있다. 각 자료 구조의 특징들은 어디서나 공통적이므로 잘 배워두면 다른 개발 언어에서도 자료 구조를 쉽게 사용할 수 있을 것이다.

     

    알고리즘 파트에서는 추상 데이터 타입, 점근적 분석, 정렬, 검색, 동적 계획법을 다루고 있다. 실제 개발 시에 문제를 해결하는데 사용될 수 있는 방법들이므로 잘 공부해두면 실전에 많은 도움을 받을 수 있다. 단, 해당 책은 알고리즘만을 전문적으로 다루는 책은 아니므로 설명이 부족하다고 느낄 수 있다. 그 때는 인터넷이나 다른 참고 문헌을 이용하자. 그래프와 트리도 코딩 면접이나 알고리즘 문제 사이트에서 많이 나오는 단골 분야이므로 반드시 알아두도록 하자.

     

    350여 페이지에 많은 내용을 담으려다 보니 일부 설명이 부족한 느낌이 없지는 않다. 하지만 핵심 내용이 잘 요약되어 있고 처음 자료 구조나 알고리즘을 공부할 때 어떤 것들을 공부해야 하는지를 가늠하는 방향표로써는 훌륭한 책이라고 생각한다. 그리고 각 장마다 포함된 연습 문제는 꼭 직접 풀어 보자. 직접 풀어야 자신의 지식이 된다.

  • 이 책은 한빛미디어의 '나는 리뷰어다' 이벤트를 통해 신청한 책이었습니다.

     

    KakaoTalk_Photo_2019-08-09-01-20-07.jpeg

     

     

    요즘 파이썬 많이들 공부하고 학습하지만 그래도 저는 이상하게 파이썬은 잘 안 익혀지더라고요 이전에도 책을 다른 책 봐도 나중에 다 까먹고;

     

    주로 자바 백 엔드 개발을 하다 보니 업무 수행하다가 다시 개인 공부할 때는 파이썬 하다 보면 두 언어 간의 차이 때문에 문법을 이해하는 데 조금 걸리더라고요. 저는

     

    일단  전반적으로 책은 되게 얇아 보이지만 속 내용은 알찬 책이었습니다.

     

    특히 휴대하기가 너무 좋습니다. 짱입니다~

     

    특히나 요즘 업무가 많아서 책을 지하철에서 주로 보았지만

     

    나름 이해하기 좋은 코드 예제에 결과 값 또한 책에 적혀 있어서

     

    머리로 코드를 컴파일 및 디버깅하면서 보기엔 좋은 책이었습니다.

     

    문법 또한 내용이 반이었지만 안에 내용에서는 디자인 패턴도 간략히

     

    데커레이터 패턴,옵서버 패턴,싱글턴 패턴 등을 설명하고 있습니다.

     

    그리고 좋은 습관에서 가상환경 잡는 법과 단위테스트가 주로 좀 자세히 봤습니다.

     

    저는 자바 개발자라서 단위테스트에서 파이썬은 어떤 것을 쓰는지 좀 궁금해서 ㅋ;;

     

    알고리즘부터는 일단 제가 파이썬 공부를 이제 막 시작해서 그런지 책을 보다가 궁금한 내용은 일단은 코딩하고 디버깅을 좀 해야 이해가 되더라고요

     

    이 책을 보시는 분들께는 이런 방법도 추천해 드립니다

     

    그리고 이 책은 일단은 적어도 2번 정도는 읽을 생각이라서 모르는 부분이 나오더라도

     

    당황하지 말고 건너뛰면서 읽었습니다 -_-;

     

    자료구조랑 알고리즘도 같이 한 권에 읽고 적어도 2번 정도 읽고 싶은 책을 고르신다면 이 책을 추천해 드립니다 ^^

     

    한빛 출판사의 나는 리뷰어다 활동을 통해 도서를 받아 작성한 리뷰입니다.

     

    #파이썬자료구조와알고리즘 #자료구조 #알고리즘 #파이썬 #한빛미디어 #나는리뷰어다

  • 알고리즘은 어렵고 복잡하다는 느낌을 받고 있고 프로그래밍을 해온지 생각보다 오래 되었음에도 알고리즘은 어려운 분야 중 하나다. 그래서 이번에도 조금이라도 익숙해 지고자 이 책을 읽게 되었다. 일단 알고리즘같이 어려운 내용은 너무 두꺼우면 지치기 쉬운데 다른 책에 비해 가볍고 얇은 점이 마음에 들었다.

    요즘 외출 할 때 이 책을 자주 들고 나갔었는데 들고 다니기에 부담스럽지 않은 크기와 무게다. 또 책이 두껍지 않다보니 언제 이 어려운 알고리즘을 언제 다 읽나? 하는 생각에서도 벗어날 수가 있다.

    그리고 알고리즘 뿐만 아니라 파이써닉한 코드, 효율적인 코드를 작성하기 위한 팁들이 도움이 되었다.

    그리고 프로그래밍 서적을 읽을 때 가장 먼저 하는 건 소스코드가 온라인에 공개되어 있나를 보는데 이 책의 소스코드도 다음의 URL에 공개가 되어 있다.

    아래 저장소에 Cracking the Code Interview(코딩 인터뷰 완전분석) 라는 유명한 책의 코드를 Python 으로 썼다는 내용이 있다. 기존 코딩 인터뷰 완전분석 책에 비해 가볍게 읽을 수 있지만 핵심적인 내용들 위주로 정리되어 있다는 점이 좋다. 이 책과 함께 아래 저장소에서 소개하는 코딩 인터뷰 완전분석이라는 책도 너무 유명한 책이라 코딩인터뷰를 준비하고 있다면 함께 보면 좋을 것 같다.

    이 책의 목차를 보면 기본적인 자료구조를 알고리즘과 함께 풀어볼 수 있도록 구성되어 있다.

    그리고 이 책의 좋은 점 중 하나는 테스트코드가 함께 있다는 것이다. 그래서 테스트코드를 작성하는 습관까지 함께 익힐 수 있게 되어 있다.

    읽으면서 가장 마음에 들었던 부분은 6.2 좋은 습관 과 6.3 단위 테스트부분이었다. 여기에는 가상환경, 디버깅, 프로파일링, 단위 테스트 내용이 나오는데 프로그래머로 성장하는데 있어 챕터 이름 그대로 좋은 습관이라 생각된다.

    또, 위에서 소개했던 코딩 인터뷰 완전분석 이라는 책의 소스코드 위치도 함께 소개한다. 코딩 인터뷰 완전분석이라는 책도 코딩테스트를 공부하는 사람들에게 필독서인데 이 책을 통해 파이썬으로 가볍게 읽어보고 코딩 인터뷰 완전분석을 읽으면 좋을 거 같다는 생각이 든다.

    아래 책은 Cracking the Code Interview의 Python 버전 저장소이고 이 책보다 조금 난이도가 있다. 그래서 입문자라면 이 책을 먼저보고 아래 저장소를 보고 따라해 보는 걸 추천한다.

  • 파이썬 자료구조와 알고리즘

     

    KakaoTalk_20190804_235721529.jpg

     

    파이썬을 주로 사용하지는 않지만, 자동화 스크립트를 작성할때 파이썬을 사용하곤 합니다.

    라이브러리도 많고, 작성하기 쉬운 점 때문인데, 필요할떄만 사용하다 보니 사용하는 문법이 한정적이고, 다른 언어에서 사용하던 문법 습관이 코드에 그대로 반영되곤 했습니다.

     

    제가 이 책을 읽게 된 동기는, 기존의 파이썬 문법책들은 파이썬이라는 언어를 알아가기엔 좋지만... 

    실제 자주 사용하지 않을 것 같은 내장함수까지 자세히 다루고 있어 끝까지 잘 안읽게되기 때문입니다. ㅎㅎ...

    파이썬이라는 언어를 자주 사용하지는 않기에, 실제로 필요한 코드를 작성할때 내가 알고있는 문법으로 작성한것이 최선인가에 대한 의문이 들게 되었습니다.

     

    그런 의미에서, 다른 언어로 작성해보았던 자료구조와 알고리즘을 파이썬 언어로 다시 작성할 수 있다면 더 재밌고, 파이썬에 익숙해지지 않을까 싶어서 읽게 되었습니다.

     

    이 책은, 파이썬 기초 책이 아니기 때문에 처음 파이썬을 접하는 분들이 보신다면 쉽진 않을 것 같습니다.

    파이썬의 특징이 글의 중간중간 나오지만, 직접적으로 파이썬은 어떤 언어이고, 어떤 특별한 특징을 가졌는지에 대한 순차적인 설명은 아니기에 만약 파이썬이 처음이신분은 기본 문법책과 함께 보시면 좋을 것 같습니다.

     

    각 파트들이 자료구조 및 알고리즘을 위한 문법 및 내장함수 -> 자료구조 -> 알고리즘 식으로 구성되어있으며.

    각 알고리즘을 해결하기 위한 디테일한 요소까지 다루고 있습니다.

    또한 알고리즘도 함께 설명되어 있어서 책의 이름대로 파이썬과 자료구조를 동시에 배울 수 있습니다.

     

    목차를 보면 알겠지만 놀랍게도 객체지향 프로그래밍 및 디자인 패턴도 다루고 있으며, 알고리즘 문제 해결에서 가장 기본이 되는 복잡도, 실행시간 계산도 다루고 있습니다.

     개인적으로 직접 문제-예제 형식으로, 특정 문제를 풀어나가는 방식이기 때문에 간단하게 문법들만 설명되어 있던 다른 책들보다 더 많은 도움이 된 것 같습니다.  

     

    KakaoTalk_20190804_235701622.jpg

     

     

    이 책만 보면 파이썬 문법과 알고리즘은 마스터 했다 까지는 아니더라도, 분명 파이썬을 이용하면서 어떻게 작성해야 하는가 고민했던 부분에 대해서 어느정도 해답을 찾을 수 있을 것 같습니다.

     

     

    한빛출판사의 도서를 제공받아 작성한 리뷰입니다

     

  •  

    6460.jpg

     

    컴퓨터관련 전공자들이라면 자료구조와 알고리즘이라는 용어를 전공에서 중요한 과목이라고 생각할 것이다. 적어도 내 경우에는 그렇다. 나는 C와 C++언어를 이용한 자료구조와 알고리즘을 수강했었는데, 그 당시는 이해하기 어려웠던 기억이 있다. 이제는 그 개념을 많이 이해하고 다양한 방법으로 자료구조와 알고리즘을 구현하다보니 많이 익숙해졌다. 다른 언어로 구현하는 자료구조와 알고리즘을 만나도 그 근간은 비슷할 것이라는 생각이 내 머리속에 잡혔다.

     

     

    요즘 파이썬에 대해 열심히 공부중인데, 그 와중에 한빛미디어에서 출간된 파이썬 자료구조와 알고리즘 이라는 책을 만나게 되었다.

    이 책의 원제목은 An introduction to Python & Algorithms 이고 관련자료는 깃허브를 참조하면 좋다.

    (https://github.com/bt3gl/Python-and-Algorithms-and-Data-Structures)

    파이썬에 대해선 완전 초보인데, 갑자기 공부해야할 학습 레벨이 최상위권으로 올라가는 느낌이다. 

    저자는 파이썬을 통해 거의 의사코드(pseudo code) 그대로 로직을 작성할 수 있다는 점에서 알고리즘 학습에 유용하다고 얘기한다. 그래서 이 책에서는 개발자에게 필수적인 자료구조와 알고리즘에 대해 파이썬의 기능을 최대한 활용하여 보여주고 있다.

     

    이 책은 PART1 1 자료구조, PART 2 알고리즘, PART 3 그래프와 트리 로 구분되어 있다.

     

    PART 1 자료구조에는 

    숫자, 내장 시퀀스 타입, 컬렉션 자료구조, 구조와 모듈, 객체지향 설계, 파이썬 고급 주제 에 대한 내용을 다루고 있고, 2장과 3장의 끝에는 연습문제가 수록되어 있어 연습문제에 나온 코드를 통해 학습한 내용을 복습할 수 있다.

    PART 1은 자료구조 뿐만 아니라 파이썬 문법, 객체지향 설계에 대한 설명도 포함하고 있다. 각 항목이나 메서드에 대한 설명을 간단히 하고 예제를 많이 보여줌으로써 사용자에게 예제를 통한 학습을 이끈다.

     

    6461.jpg

     

    PART 2 알고리즘에는

    추상 데이터 타입, 점근적 분석, 정렬, 검색, 동적 계획법 에 대한 내용을 다루고 있다. 스택, 큐, 데크, 리스트, 해시테이블 같은 기본적인 내용부터 정렬(sort), 검색(search)와 같은 심화된 알고리즘의 내용을 볼 수 있다.

     

    6462.jpg

     

    PART 3 그래프와 트리에는 

    그래프 기초, 이진 트리, 트리 순회,한국어판 참고자료에 대한 내용을 다루고 있다. PART 2에서의 내용보다 더 심화되어 그래프와 트리와 같은 고수준 알고리즘의 내용을 볼 수 있다.

     

    이 책에서는 책 내용 외에 부가적인 설명은 역주로 처리하여 참고할만한 사이트 정보를 함께 제공한다. 이 책을 보면서 자료구조와 알고리즘에 대한 개념도 이해하고 파이썬을 이용한 프로그래밍 실력도 함께 키울 수 있을 것 같다. 

     

    책에 나온 예제 코드는 아래의 깃허브 저장소에서 다운로드받을 수 있으니 참조하면 좋다.

    https://github.com/bt3gl/Python-and-Algorithms-and-Data-Structures

     

    책의 예제 코드를 직접 코딩해보거나 깃허브에서 다운로드 받아서 하나하나 분석해본다면 자료구조와 알고리즘이 쉽게 이해될 것이다.

     

    한빛출판사의 나는 리뷰어다 활동을 통해 도서를 제공받아 작성한 리뷰입니다

     

    #파이썬자료구조와알고리즘 #자료구조 #알고리즘 #파이썬 #한빛미디어 #나는리뷰어다

  • #이 책은 한빛미디어의 '나는 리뷰어다' 이벤트를 통해서 수령한 책입니다. 프로그래밍에 관한 책은 선구안이 생길 정도로 많은 책을 본 것도 아니고, 프로그래밍에 대해서 깊은 이해를 하고 있는 것도 아니라서 기회가 될 때마다 최대한 많은 책을 보려고 노력하고 있습니다. 이런 관점에서, 어느정도 검증된 출판사라고 할 수 있는 한빛미디어에서 출간한 서적을 접해볼 수 있는 '나는 리뷰어다'라는 이벤트가 퍽 유익한 이벤트라고 생각합니다. 관심 있는 분들은 응모해보시길 추천드립니다. 책을 무료로 받았다고 해서 제 서평에 영향을 미치지는 않습니다.

     

     이 책은 제목에도 들어있는 바와 같이 자료구조와 알고리즘에 대한 책입니다. 컴퓨터 과학을 이루는 중요한 축 중 하나인 개념들이라서, 프로그래밍 공부를 하는 입장에서 아주 중요한 개념들이라고 할 수 있습니다. 하지만 중요한 개념들은 대체로 비슷한 특징을 가지고 있습니다. 이는 재미가 없다는 것입니다. 자료구조와 알고리즘도 마찬가지입니다. 분명 중요한 개념이라는 것을 인지하고 있고, 제대로 공부할 경우 큰 도움이 될만한 도구라는 것은 알겠는데, 막상 책을 펼치면 참 재미가 없습니다. 특히 알고리즘을 다룬 책들은 보통 수학 공식처럼 보이는 의사코드(수도코드, Pseudo-code)로 되어 있는 경우가 많아서 책을 읽는 과정 자체가 쉽지 않고, 자료구조는 지루하다는 점이 치명적입니다. 그리고 이 책도 큰 틀에서 보면, 재미가 없었습니다. 다만, 그 중에서는 조금 나았습니다. 

     

     책의 소개 중에 이런 문구가 있습니다. '파이써닉한 코딩으로 배우는 핵심 알고리즘'. 책을 읽고 난 후에 느낀 감상도 비슷합니다. 알고리즘 파트나 자료구조 파트가 대부분 설명보다는 파이썬 코드의 분량이 상당합니다. 그래서 지루함이 조금 덜 합니다. 일단 코드는 설명과 달리 짧고 돌려볼 수 있기 때문입니다. 다만 코드 베이스로 쓰여진 책이기 때문에, 그냥 책을 주욱 읽는다고 경험치가 쌓이는 느낌이 들지는 않습니다. 특히 책의 코드에 아주 친절한 주석이 달려있다던지, 설명 파트가 충실한 느낌(분량이 분량인지라)이 드는 편은 아니라서 코드를 직접 보면서 꼭꼭 씹어먹어야 소화가 되고, 내 경험치가 쌓이는 느낌을 받을 수 있을 것 같습니다. 

     

     책의 물리적인 사이즈가 작고 각 개념이 연결성을 갖는 것이 아니라 개별적으로 구성되어 있다는 점은 위에서 언급한 특징을 한층 심화시키면서 동시에 유용합니다. 우선 책의 사이즈가 작은 만큼 설명이 충실한 편은 아니라서 소화시키는데 노력이 퍽 요구됩니다. 그리고 각 개념들이 개별적으로 구성되어 있어서 하나를 소화시켰다고 다음 개념의 이해가 쉬워지는 편도 아닙니다. 하지만 다시 생각해보면, 어차피 알고리즘이나 자료구조라는 이름으로 묶인 개념들이 유기적으로 연계되어 하나의 큰 개념을 구성하는 것이 아니라, 카테고리화 해놓은 것에 불과하기 때문에 개별적으로 구성되는 것이 정상이긴 합니다. 

     

     이런 특징은 실용적인 면에서 장점이 될 수 있다고 생각합니다. 어차피 각 개념이 연결된 것이 아니기 때문에, 자료구조나 알고리즘이나 읽다가 지루하거나 재미가 없으면 그냥 다음 개념으로 바로바로 넘어가면 됩니다. 저 같은 경우, 그냥 2~3번 읽을 생각을 하고 힘 빼지 않으면서 잡지 보듯이 보다가 관심이 있는 주제에 대한 부분에서 멈춰서 설명 보고 코드 보고, 코드 한번 손코딩으로 써보고 다시 잡지 보듯이 넘기면서 읽었습니다. 그렇게 4번 정도 보니, 막상 크게 힘을 들이지는 않았는데 대부분의 개념을 1회 이상은 본 것 같습니다. 그리고 작은 책의 사이즈는 그냥 주머니에 책을 넣고 다니면서 읽는데 도움이 되었습니다. 앞서 말한 바와 같이 가볍게 잡지 보듯이 본 까닭에 시간을 잡고 한 자리에서 책을 읽은 시간이 얼마 안됩니다. 책을 읽은 대부분의 시간이 잠깐잠깐 시간이 날 때 가볍게 한 두개의 주제를 읽는 식으로 채워졌습니다. 

     

     그런데 별거 아니라고 생각한 이런 특징들이 생각보다 별거였습니다. 그동안 자료구조와 알고리즘에 대한 책을 사놓고 중간에 접어버리거나, 스트레스 왕창 받다가 숙제 해치우듯이 1~2시간쯤 잡고 후르륵 넘겨버린 적이 대부분이었는데, 이 책은 '프로그래밍 잡지 보듯이 보자'라는 마음을 먹어서 그런지, 되게 가볍게 스트레스 안받으면서, 각 주제에 나름대로 몰입을 해가면서 책을 볼 수 있었습니다. 이 점이 별거 아닌 것 같은 이 책이 가진 장점이 생각보다 별거가 되게 만들었습니다. 물론 지금도 주요 알고리즘에 대해서 아주 명확하게 설명을 해보라고 하면, '어… 음…' 이라고 할 것 같기는 한데, 대충 이름을 들었을 때, '대충 ~이랬던 것 같은데…'라는 생각이 들긴 합니다. 사실 이렇게 짧은 단상만 떠오르면 필요할 때 그냥 구글링을 해서 찾아보면 되니까 확실히 아예 몰랐을 때보다는 경험치가 쌓였다고 생각합니다. 그리고 코드가 의사코드나 수학적 코드가 아니라 파이썬으로 되어 있어서 큐를 직접 파이썬으로 구현해보라고 하면, 꾸역꾸역 구현을 할 수는 있게 되었습니다. (물론 아름답고 효율적인 파이써닉한 코드일지는 모르겠습니다.)

     

     사실 이 책을 읽으면서 배운 점이 별 것은 아닙니다. 지금도 스택오버플로우나 깃헙에 가면 좋은 코드를 바로바로 만날 수 있습니다. 다만 책을 읽기 전과 후의 차이라면, 예전에는 위와 같은 사이트에서 코드를 봤을 때, '어…' 하면서 겁이 나거나 멍을 때렸다면, 이젠 대충 이런 구성으로 되어 있구나라고 읽을 수는 있게 되었습니다. 사실 큰 변화가 아니라면 아닐 수 있지만, 제 입장에서는 나름 책 한 권 읽은 것치고는 많이 배웠다는 생각이 들어서 참 유익했다고 생각합니다. 

     

     추가적으로 사실 이벤트에 참여하면서 더 읽어보고 싶었던 책은 '파이썬 날코딩으로 알고 짜는 딥러닝'이라는 책이었습니다. 유용한 라이브러리를 활용하는 것도 물론 좋지만, 날코딩을 통해 머신러닝/딥러닝의 원리를 습득하는 것도 의미가 있다고 생각했기 때문입니다. 그런데 어쩌다보니 읽게 된 이 책도, '파이썬 날코딩으로 알고 짜는 자료구조와 알고리즘' 정도는 되는 것 같아서 애초에 희망했던 학습 방법은 충족이 된 것 같습니다. 목적으로 했던 대상은 아니지만요. :) 

     

    20190725_182359.jpg

     

     

결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
파이썬 자료구조와 알고리즘 : 기초 튼튼, 핵심 쏙쏙, 실력 쑥쑥
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
파이썬 자료구조와 알고리즘 : 기초 튼튼, 핵심 쏙쏙, 실력 쑥쑥
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
파이썬 자료구조와 알고리즘 : 기초 튼튼, 핵심 쏙쏙, 실력 쑥쑥
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실