장바구니 담기 close

장바구니에 상품을 담았습니다.

쓰면서 익히는 알고리즘과 자료구조

쓰면서 익히는 알고리즘과 자료구조

  • 윤대석
  • |
  • 한빛미디어
  • |
  • 2021-03-29 출간
  • |
  • 388페이지
  • |
  • 183 X 235 mm
  • |
  • ISBN 9791162244104
판매가

26,000원

즉시할인가

23,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
23,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




알고리즘 공부 어떻게 해야 할까?
배경지식은 충분히 공부했는데, 왜 알고리즘 문제에 접근조차 못 할까?

알고리즘 문제 해결 능력의 핵심은 ‘알고리즘적 사고력’입니다. 알고리즘적 사고력을 키우기 위한 가장 좋은 방법은 알고리즘 문제를 풀 때 여러 전략을 고민하고 해결 과정을 직접 노트에 써보는 것입니다.

한 페이지짜리 ‘알고리즘 설계 캔버스’는 이런 프로세스를 쓰기 좋은 학습 도구입니다. 제한사항, 아이디어, 복잡도, 코드, 테스트 영역으로 구성된 ‘알고리즘 설계 캔버스’는 일련의 알고리즘적 사고 과정을 명확하게 보여줍니다. 이 책은 ‘알고리즘 설계 캔버스’의 요소별 내용을 완성해가며 문제를 풀이합니다. 직접 ‘알고리즘 설계 캔버스’를 작성하면서 알고리즘 문제 해결 과정을 단계별로 따라가봅시다.

알고리즘 설계 캔버스 구성 요소
● 제한사항(Constraints): 알고리즘 문제의 요구와 제한사항을 발견하고 기록하는 영역
● 아이디어(Ideas): 문제를 해결할 수 있는 1~3개 정도의 접근 방법을 고려하는 영역
● 복잡도(Complexities): 생각한 아이디어의 시간과 공간 복잡도를 추정하는 영역
● 코드(Codes): 아이디어 영역에서 논의한 내용을 바탕으로 구현할 가치가 있다고 생각한 방법을 코드로 작성하는 영역
● 테스트(Test cases): 구현된 코드의 테스트 케이스를 알아보고 코드 테스트를 진행하는 영역
● 이 책의 코드는 파이썬 기반으로 작성되었습니다.
● 예제 소스: github.com/daeseokyoun/learn-algorithm-by-writing

베타리더의 말

허민 _한국외국어대학교 정보지원처
다른 알고리즘 서적과 달리 몇 가지 차별화된 전략이 인상 깊었습니다. 노트 레이아웃(알고리즘 설계 캔버스)으로 사고 과정을 적어보고 비주얼라이저를 활용해 중간 단계를 눈으로 보며, 구현 과정의 상세한 도식화로 이해하는 과정 덕분에 알고리즘이라는 매운 양파 껍질을 하나 더 벗겨낸 느낌을 받았습니다.

이준희 _가천대학교 학부생
알고리즘 공부를 시작하는 학생이고, ‘쓰면서 익히는’이라는 제목에 끌려 베타리딩을 신청했습
니다. 문제를 풀기 전 생각을 정리하게 해주는 노트 레이아웃(알고리즘 설계 캔버스), 과정을 보여주는 상세한 그림과 설명, 그리고 공부 후 다시 찾아보게 되는 노트 덕에 쉽게 다가갈 수 있었습니다.

장대혁 _헤르스
이 책은 단순히 코딩 테스트를 위한 책이 아닙니다. 좋은 코드를 만들기 위해 알아야 하는 자료구조를 배울 수 있습니다. 수준 있는 개발자가 되기 위해서는 이런 공부가 필요합니다. 오래오래 개발자로 커리어를 이어가고 싶다면 이 책을 3번 읽고 개발 역량(좋은 코드 작성하기)과 취업 역량(코딩 테스트 통과하기) 모두 향상시키길 바랍니다.

김병진 _위메프
이 책은 개발을 하면서 직면하는 문제에 어떤 접근 방식으로 해결할 수 있는지 생각해보고, 어떤 알고리즘을 적용할 수 있는지에 대해 설명해줍니다. 그리고 그 방법이 절대 하나일 수 없다는 듯 하나 이상의 접근 방법으로 제시해주고 있어 다양한 접근 방식에 대한 사고를 할 수 있도록 도와줍니다. 이 책은 알고리즘을 처음 배우는 초심자에게 좋은 가이드 역할을 할 것이라고 생각합니다.


목차


들어가며
chapter 1 배열(Array)
1.1 배열의 이해
1.2 파이썬에서 배열(리스트) 사용법
1.3 두 수의 합 찾기
1.4 정렬된 배열에서 중복 제거
1.5 배열에서 삽입 위치 찾기
1.6 정렬된 배열의 병합
1.7 정렬된 배열의 정합
1.8 파스칼의 삼각형
1.9 배열에서 다수의 요소 찾기
1.10 배열의 회전
1.11 빠진 숫자 찾기
1.12 더 나아가기 위한 준비
1.13 부분집합(subsets)
1.14 단어 찾기

chapter 2 문자열(String)
2.1 문자열의 이해
2.2 파이썬에서 문자열 사용법
2.3 회문(Palindrome) 확인
2.4 그룹 애너그램(anagram)
2.5 IPv4 / IPv6 검증 시스템

chapter 3 연결 리스트(Linked List)
3.1 연결 리스트의 이해
3.2 연결 리스트 연산
3.3 연결 리스트 문제
3.4 연결 리스트 뒤집기
3.5 순환 검출(Cycle Detection)
3.6 두 수 더하기

chapter 4 스택(Stack)과 재귀(Recursion)
4.1 스택의 이해
4.2 재귀(Recursion)의 이해
4.3 유효한 괄호 검증
4.4 재귀 연습문제
4.5 재귀 연습

chapter 5 큐(Queue)
5.1 큐의 이해
5.2 큐 연습

chapter 6 트리(Tree)
6.1 트리 자료구조의 이해
6.2 이진 트리(Binary Tree)
6.3 깊이 우선 탐색(Depth-First Search)
6.4 너비 우선 탐색(Breadth-First Search)
6.5 이진 힙(Binary heap)
6.6 트리 경로의 합
6.7 3번째 큰 수
6.8 이진 트리 반전
6.9 이진 검색 트리 검증

chapter 7 동적 프로그래밍(Dynamic Programming)
7.1 동적 프로그래밍의 이해
7.2 동일 합으로 배열 분할 문제
7.3 동전 교환
7.4 최장 공통부분 수열(Longest Common Subsequence)

chapter 8 정렬(Sorting) 알고리즘
8.1 거품 정렬(Bubble Sort)
8.2 삽입 정렬(Insertion Sort)
8.3 병합 정렬(Merge Sort)
8.4 퀵 정렬(Quick Sort)
8.5 팀 정렬(Tim Sort)

Appendix 부록
부록 A 알고리즘 문제 제공 사이트
부록 B 알고리즘 연습을 위한 노트 방법
부록 C 파이썬을 이용한 문제 풀이
부록 D 알고리즘 학습을 위한 사이트 소개

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.