검색

북큐브서점

마이페이지

로그아웃
  • 북캐시

    0원

  • 적립금

    0원

  • 쿠폰/상품권

    0장

  • 무료이용권

    0장

자동완성 기능이 꺼져 있습니다.

자동완성 끄기

네이버 인증이 완료되었습니다.

이미 북큐브 회원인 경우북큐브 ID로 로그인하시면, SNS계정이 자동으로 연결됩니다.

SNS 계정으로 신규 가입하기SNS계정으로 로그인 시 해당 SNS 계정으로 북큐브에 자동 가입되며 간편하게 로그인이 가능합니다.

비밀번호 찾기

북큐브 고객센터 : 1588-1925

아이디 찾기

북큐브 고객센터 : 1588-1925

아이디 조회 결과

비밀번호 조회 결과

으로
비밀번호를 발송했습니다.

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

알고리즘 설계 캔버스를 작성하며 배우는 알고리즘 문제 해결 전략

도서 이미지 - 쓰면서 익히는 알고리즘과 자료구조

윤대석

한빛미디어 출판|2021.03.31

0.0(0명)

서평(0)

시리즈 가격정보
전자책 정가 20,800원
구매 20,800원+3% 적립
출간정보 2021.03.31|PDF|48.17MB
소득공제 여부 가능 (대여는 제외)

10년소장 안내

10년소장은 장기대여 상품으로 구매 상품과는 달리 다양한 프로모션 및 폭넓은 할인 혜택 제공이 가능합니다.

프로모션이 없는 경우 구매 상품과 가격이 동일하지만 프로모션이 진행되게 되면 큰 폭의 할인 및 적립이 제공됩니다.

close

지원 단말기 : IOS 11.0 이상, Android 4.1 이상, PC Window 7 OS 이상 지원 듣기, 스크랩 (형광펜, 메모), 본문 검색 불가

책소개

직접 써보며 이해하는 가장 효율적인 알고리즘 문제 해결 과정



알고리즘과 자료구조를 가장 효율적으로 학습할 수 있는 방법은 무엇일까? 바로 노트에 직접 알고리즘 문제 해결 과정을 써보면서 이해하는 것이다. 이 책은 ‘알고리즘 설계 캔버스’ 작성을 통한 문제 해결 과정을 보여준다. ‘알고리즘 설계 캔버스’는 제한사항, 아이디어, 복잡도, 코드, 테스트 영역으로 구성된 한 페이지짜리 노트로 일련의 알고리즘적 사고 과정을 보여주는 최적의 학습 도구이다.



각 장은 다양한 알고리즘과 자료구조(배열, 문자열, 연결 리스트, 스택, 재귀, 큐, 트리, 동적 프로그래밍, 정렬 등)의 기본적인 내용을 소개한 뒤, 관련 문제를 ‘알고리즘 설계 캔버스’의 항목별 내용을 쓰면서 풀어본다. 이 책을 통해 ‘알고리즘 설계 캔버스’를 직접 작성하면서 알고리즘과 자료구조의 이해를 넓혀 개발 역량을 키우고 코딩 인터뷰까지 대비해보자.





알고리즘 설계 캔버스 구성 요소

제한사항(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 알고리즘 학습을 위한 사이트 소개

저자소개

윤대석

12년간 임베디드 리눅스 커널 개발, 윈도우 애플리케이션 개발, 리얼타임 운영체제에서의 BSP 개발, 백엔드 개발 등 다양한 영역에서의 개발 경험이 있고 항상 기본에 충실하고자 노력하는 엔지니어다. 꾸준히 알고리즘과 운영체제에 대해 공부하고 있으며, 오픈 소스 리눅스 커널 분석 및 수정 활동에 참여하고 있다.

서평(0)

별점으로 평가해주세요.

서평쓰기

스포일러가 포함되어 있습니다.

0.0

(0명)

ebook 이용안내

  • 구매 후 배송이 필요 없이 다운로드를 통해 이용 가능한 전자책 상품입니다.
  • 전자책 1회 구매로 PC, 스마트폰, 태블릿 PC에서 이용하실 수 있습니다.
    (도서 특성에 따라 이용 가능한 기기의 제한이 있을 수 있습니다.)
  • 책파일 내 판권정보 정가와 북큐브 사이트 정가 표시가 다를 수 있으며, 실제 정가는 사이트에 표시된 정가를 기준으로 합니다.
  • 적립금 지급은 적립금 및 북큐브 상품권으로 결제한 금액을 뺀 나머지가 적립금으로 지급됩니다.
    (적립금 유효기간은 마이페이지>북캐시/적립금/상품권>적립금 적립내역에서 확인 가능합니다.)
  • 저작권 보호를 위해 인쇄/출력 기능은 지원하지 않습니다.
  • 구매하신 전자책은 “마이페이지 > 구매목록” 또는 “북큐브 내서재 프로그램 > 구매목록”에서 다운로드할 수 있습니다.
  • 스마트폰, 태블릿PC의 경우 북큐브 어플리케이션을 설치하여 이용할 수 있습니다. (모바일 페이지 바로가기)
  • PC에서는 PC용 내서재 프로그램을 통해 도서를 이용하실 수 있습니다.
  • ID 계정 당 총 5대의 기기에서 횟수 제한 없이 이용하실 수 있습니다.
TOP