• 메인으로 이동
    AD광고
    New사랑과 우정으로 빛나는 모험프린세스 캐치 티니핑
    AD광고
    New행복을 선택하는 삶의 태도불행에 몰두하지 않는다
    • 베스트
    • 소득공제
    • 무료배송

    문제 해결력을 높이는 알고리즘과 자료 구조

    • 오츠키켄스케 저
    • 서수환 역
    • 길벗
    • 2022년 02월 22일
    10%21,60024,000
    적립금
    1,200원 (5% 적립)
    추가 적립
    추가 적립 안내
    • 5만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

    • 10만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

      정가제FREE(상품/사은품) 금액이 5,000원 이상이면 5,000원 추가적립

    결제혜택
    무이자 할부
    결제사 혜택
    쿠폰
    회원 가입 즉시 지급되는 적립금 과 등급별 다양한 회원 혜택 보기
    배송비
    무료  (해외배송의 경우 지역에 따라 상이)

    배송안내

    서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
    지금 택배 주문하면 9/16(수) 출고 가능
    택배보다 빠른, 나우드림
    21,600

    [네이버페이]

    상품 규격 정보
    상품상세정보
    ISBN ISBN-13 : 9791165218874
    쪽수412쪽
    크기기타 규격
    제품구성단행본
    이 책이 속한 분야
    • 컴퓨터/IT > 시스템공학
    관련 이벤트
    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    2026 추석 프로모션 - 영롱한 보름달처럼 풍성한 추석 혜택

    2026.09.09 ~ 2026.09.27

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    • 사은품

    9월 특별선물 《영풍문고 리유저블백》

    2026.09.01 ~ 2026.09.30

    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    2026 추석 프로모션 - 영롱한 보름달처럼 풍성한 추석 혜택

    2026.09.09 ~ 2026.09.27

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    책 소개
    알고리즘 문제의 답을 스스로 생각하는, 코딩 테스트와 프로그래밍 경진대회 전 필독서!

    이 책은 알고리즘 입문서이자 + 응용력, 문제 해결력을 높여주는 알고리즘 활용서다. 궁극적으로 알고리즘을 잘 다룰 수 있게 실력을 키우는 것을 목표로 한다. 우선 알고리즘에 대해 전혀 모르는 사람이 알고리즘의 전반적인 모습을 체계적으로 인식하고, 필요한 기초 개념과 기본적인 알고리즘을 배울 수 있다. 알고리즘을 설명할 때는 유명한 알고리즘을 단순히 소개하는 것이 아니라 어떻게 설계되었는지 설계 기법과 설계 과정, 응용 방법과 사례도 함께 설명한다. 또한, 다양한 상황에서 알고리즘을 사용해 문제를 해결할 수 있도록 알고리즘을 설계할 때 필요한 지식과 접근법을 설명한다. 목표는 알고리즘의 동작을 구체적으로 이해하고 실제 문제 해결에 사용하는 것이며, 알고리즘을 단순히 아는 것을 넘어서 잘 다루는 것이다. 우리는 알고리즘을 사용해 주어진 문제를 잘 풀기도 하고, 내가 직접 설계도 하고, 더 효율적으로 개선할 수도 있어야 한다. 이 책은 이를 위해 필요한 방법과 지식을 학습한다.

    목차
    1장 알고리즘이란?
    1.1 알고리즘이란 무엇인가?
    1.2 알고리즘 예제(1): 깊이 우선 탐색과 너비 우선 탐색
    __1.2.1 빈 칸 채우기 퍼즐로 배우는 깊이 우선 탐색
    __1.2.2 미로로 배우는 너비 우선 탐색
    1.3 알고리즘 예제(2): 매칭
    1.4 알고리즘 서술 방법
    1.5 알고리즘을 배우는 의미
    1.6 연습 문제

    2장 복잡도와 빅오 표기법
    2.1 복잡도란?
    2.2 복잡도와 빅오 표기법
    __2.2.1 복잡도 빅오 표기법 생각해 보기
    __2.2.2 코드 2-1의 복잡도
    __2.2.3 코드 2-2의 복잡도
    __2.2.4 실제로 복잡도 구해 보기
    __2.2.5 복잡도를 빅오 표기법으로 표시하는 이유
    2.3 복잡도를 구하는 예(1): 짝수 나열
    2.4 복잡도를 구하는 예(2): 최근접 점쌍 문제
    2.5 복잡도 사용법
    2.6 복잡도 관련 주의 사항
    __2.6.1 시간 복잡도와 공간 복잡도
    __2.6.2 최악 시간 복잡도와 평균 시간 복잡도
    2.7 란다우 빅오 표기법 상세 설명(*)
    __2.7.1 란다우 빅오 표기법
    __2.7.2 오메가 표기법
    __2.7.3 세타 표기법
    2.8 마무리
    2.9 연습 문제

    3장 설계 기법(1): 전체 탐색
    3.1 전체 탐색을 배우는 의미
    3.2 전체 탐색(1): 선형 탐색법
    3.3 선형 탐색법의 응용
    __3.3.1 조건을 만족하는 위치 파악 가능
    __3.3.2 최솟값 구하기
    3.4 전체 탐색(2): 쌍 전체 탐색
    3.5 전체 탐색(3): 조합 전체 탐색(*)
    3.6 정리
    3.7 연습 문제

    4장 설계 기법(2): 재귀와 분할 정복법
    4.1 재귀란 무엇인가?
    4.2 재귀 사용 예(1): 유클리드 호제법
    4.3 재귀 사용 예(2): 피보나치 수열
    4.4 메모이제이션 동적 계획법
    4.5 재귀 사용 예(3): 재귀 함수를 사용한 전체 탐색
    __4.5.1 부분합 문제
    __4.5.2 부분합 문제에 대한 재귀적 전체 탐색 복잡도(*)
    __4.5.3 부분합 문제에 대한 메모이제이션(*)
    4.6 분할 정복법
    4.7 정리
    4.8 연습 문제

    5장 설계 기법(3): 동적 계획법
    5.1 동적 계획법이란?
    5.2 동적 계획법 예제
    5.3 동적 계획법 관련 개념도
    __5.3.1 완화
    __5.3.2 끌기 전이 형식과 밀기 전이 형식
    __5.3.3 끌기 전이 형식과 밀기 전이 형식 비교
    __5.3.4 전체 탐색 메모이제이션을 이용한 동적 계획법
    5.4 동적 계획법 예제(1): 냅색 문제
    5.5 동적 계획법 예제(2): 편집 거리
    5.6 동적 계획법 예제(3): 구간 분할 최적화
    5.7 정리
    5.8 연습 문제

    6장 설계 기법(4): 이진 탐색법
    6.1 배열 이진 탐색
    __6.1.1 배열 이진 탐색
    __6.1.2 배열 이진 탐색 복잡도(*)
    6.2 C++의 std::lower_bound()
    6.3 일반화한 이진 탐색법
    6.4 좀 더 일반화한 이진 탐색법(*)
    6.5 응용 예(1): 나이 맞히기 게임
    6.6 응용 예(2): std::lower_bound() 활용
    6.7 응용 예(3): 최적화 문제를 판정 문제로 바꾸기
    6.8 응용 예(4): 중앙값 구하기
    6.9 정리
    6.10 연습 문제

    7장 설계 기법(5): 탐욕법
    7.1 탐욕법이란?
    7.2 탐욕법으로 최적해를 구할 수 없는 경우
    7.3 탐욕법 패턴(1): 교환해도 악화되지 않음
    7.4 탐욕법 패턴(2): 현재가 좋으면 미래도 좋음
    7.5 정리
    7.6 연습 문제

    8장 자료 구조(1): 배열, 연결 리스트, 해시 테이블
    8.1 자료 구조를 배우는 의미
    8.2 배열
    8.3 연결 리스트
    8.4 연결 리스트 삽입과 삭제
    __8.4.1 연결 리스트 삽입
    __8.4.2 연결 리스트 삭제
    8.5 배열과 연결 리스트 비교
    8.6 해시 테이블
    __8.6.1 해시 테이블 만드는 법
    __8.6.2 해시 충돌 대책
    __8.6.3 해시 테이블 복잡도
    __8.6.4 C++와 파이썬의 해시 테이블
    __8.6.5 연상 배열
    8.7 정리
    8.8 연습 문제

    9장 자료 구조(2): 스택과 큐
    9.1 스택과 큐의 개념
    9.2 스택과 큐의 동작과 구현
    __9.2.1 스택 동작과 구현
    __9.2.2 큐 동작과 구현
    9.3 정리
    9.4 연습 문제

    10장 자료 구조(3): 그래프와 트리
    10.1 그래프
    __10.1.1 그래프 사고방식
    __10.1.2 유향 그래프와 무향 그래프
    __10.1.3 워크, 사이클, 패스
    __10.1.4 연결성
    10.2 그래프를 사용하는 공식화 예시
    __10.2.1 소셜 네트워크
    __10.2.2 교통 네트워크
    __10.2.3 게임 국면 전이
    __10.2.4 작업 의존 관계
    10.3 그래프 구현
    10.4 가중 그래프 구현
    10.5 트리
    __10.5.1 루트 트리
    __10.5.2 부분 트리와 트리 높이
    10.6 순서 트리와 이진 트리
    __10.6.1 순서 트리와 이진 트리
    __10.6.2 강균형 이진 트리
    10.7 이진 트리를 사용한 자료 구조 예(1): 힙
    __10.7.1 힙이란?
    __10.7.2 힙 실현 방법
    __10.7.3 힙 쿼리 처리
    __10.7.4 힙 구현 예
    __10.7.5 O(N) 복잡도로 힙 구축(*)
    10.8 이진 트리를 사용하는 자료 구조 예(2): 이진 탐색 트리
    10.9 정리
    10.10 연습 문제

    11장 자료 구조(4): Union-Find
    11.1 Union-Find란?
    11.2 Union-Find 구조
    11.3 Union-Find 복잡도를 줄이는 방법
    11.4 Union-Find 개선법 1: union by size
    __11.4.1 union by size란?
    __11.4.2 union by size 복잡도 분석
    11.5 Union-Find 개선법 2: 경로 압축
    11.6 Union-Find 구현
    11.7 Union-Find 응용: 그래프 연결 요소 개수
    11.8 정리
    11.9 연습 문제

    12장 정렬
    12.1 정렬이란?
    12.2 정렬 알고리즘의 좋고 나쁨
    __12.2.1 in-place와 안정성
    __12.2.2 어떤 정렬 알고리즘이 좋은가?
    12.3 정렬(1): 삽입 정렬
    __12.3.1 동작과 구현
    __12.3.2 삽입 정렬 복잡도와 성질
    12.4 정렬(2): 병합 정렬
    __12.4.1 동작과 구현
    __12.4.2 병합 정렬 복잡도와 성질
    __12.4.3 병합 정렬 복잡도를 자세히 분석하기(*)
    12.5 정렬(3): 퀵 정렬
    __12.5.1 동작과 구현
    __12.5.2 퀵 정렬 복잡도와 성질
    __12.5.3 무작위 선택 퀵 정렬(*)
    12.6 정렬(4): 힙 정렬
    12.7 정렬 복잡도의 하한값
    12.8 정렬(5): 버킷 정렬
    12.9 정리
    12.10 연습 문제

    13장 그래프(1): 그래프 탐색
    13.1 그래프 탐색을 배우는 의의
    13.2 깊이 우선 탐색과 너비 우선 탐색
    13.3 재귀 함수를 사용하는 깊이 우선 탐색
    13.4 전위 순회와 후위 순회
    13.5 최단 경로 알고리즘으로 너비 우선 탐색
    13.6 깊이 우선 탐색과 너비 우선 탐색의 복잡도
    13.7 그래프 탐색 예(1): s-t 패스 구하기
    13.8 그래프 탐색 예(2): 이분 그래프 판정
    13.9 그래프 탐색 예(3): 위상 정렬
    13.10 그래프 탐색 예(4): 트리 동적 계획법(*)
    13.11 정리
    13.12 연습 문제

    14장 그래프(2): 최단 경로 문제
    14.1 최단 경로 문제란?
    __14.1.1 가중치 유향 그래프
    __14.1.2 단일 시작점 최단 경로 문제
    __14.1.3 음의 변과 음의 닫힌 경로
    14.2 최단 경로 문제 정리
    14.3 완화
    14.4 DAG의 최단 경로 문제: 동적 계획법
    14.5 단일 시작점 최단 경로 문제: 벨만-포드 알고리즘
    __14.5.1 벨만-포드 알고리즘 아이디어
    __14.5.2 벨만-포드 알고리즘 구현
    __14.5.3 벨만-포드 알고리즘의 정확성(*)
    14.6 단일 시작점 최단 경로 문제: 다익스트라 알고리즘
    __14.6.1 두 종류의 다익스트라 알고리즘
    __14.6.2 단순한 다익스트라 알고리즘
    __14.6.3 다익스트라 알고리즘의 직감적인 이미지
    __14.6.4 다익스트라 알고리즘 정확성(*)
    __14.6.5 희소 그래프인 경우: 힙을 사용한 고속화(*)
    14.7 모든 쌍의 최단 경로 문제: 플로이드-워셜 알고리즘
    14.8 참고: 포텐셜과 차분 제약계(*)
    14.9 정리
    14.10 연습 문제

    15장 그래프(3): 최소 신장 트리 문제
    15.1 최소 신장 트리 문제란?
    15.2 크러스컬 알고리즘
    15.3 크러스컬 알고리즘 구현
    15.4 신장 트리 구조
    __15.4.1 컷
    __15.4.2 기본 사이클
    __15.4.3 기본 컷 집합
    15.5 크러스컬 알고리즘의 정확성(*)
    15.6 정리
    15.7 연습 문제

    16장 그래프(4): 네트워크 흐름
    16.1 네트워크 흐름을 배우는 의의
    16.2 그래프 연결도
    __16.2.1 변 연결도
    __16.2.2 최소 컷 문제
    __16.2.3 변 연결도를 구하는 알고리즘과 강 쌍대성 증명
    16.3 최대 흐름 문제와 최소 컷 문제
    __16.3.1 최대 흐름 문제란?
    __16.3.2 흐름의 성질
    __16.3.3 최소 컷 문제와 쌍대성
    __16.3.4 포드-풀커슨 알고리즘
    16.4 포드-풀커슨 알고리즘 구현
    16.5 응용 예(1): 이분 매칭
    16.6 응용 예(2): 점 연결도
    16.7 응용 예(3): 프로젝트 선택 문제
    16.8 정리
    16.9 연습 문제

    17장 P와 NP
    17.1 문제의 어려움을 측정하는 방법
    17.2 P와 NP
    17.3 P ≠ NP 문제
    17.4 NP 완전
    17.5 다항식 시간 환원 예
    __17.5.1 꼭짓점 커버 문제
    __17.5.2 부분합 문제(*)
    17.6 NP 난해
    17.7 정지 문제
    17.8 정리
    17.9 연습 문제

    18장 어려운 문제 대책
    18.1 NP 난해 문제와 마주하기
    18.2 특수한 경우로 풀리는 방법
    18.3 탐욕법
    18.4 국소 탐색과 담금질 기법
    18.5 분기 한정법
    18.6 정수계획 문제로 공식화
    18.7 근사 알고리즘
    18.8 정리
    18.9 연습 문제

    19장 참고 문헌
    19.1 알고리즘 전반
    19.2 알고리즘 전반(본격적인 전문서)
    19.3 복잡도, P와 NP
    19.4 그래프 알고리즘, 조합 최적화
    19.5 어려운 문제 대책
    19.6 기타 분야

    후기
    찾아보기

    저자 소개
    저자 : 오츠키켄스케

      옮긴이 서수환
      일본에서 온라인 쇼핑몰 시스템을 개발하고 운영하는 엔지니어이다. 귀찮은 일이 생기면 대신해 줄 무언가를 찾다가 없으면 만드는 게 취미. 또 뭐하며 놀까 늘 고민 중이다.

      도서리뷰 (0)
      이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

      등록된 리뷰가 없습니다

      첫번째 리뷰어가 되어주세요

      이 분야에서 요즘 뜨는 책
      에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
      AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
      인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
      비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
      엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
      에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
      AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
      인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
      비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
      엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
      에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
      AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
      인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
      이 분야의 화제의 신간
      일상에 바로 쓰는 일잘러의 바이브 코딩 활용법임재희, 조효기, 이정용 | 제이펍
      AI 시스템 설계 - 불확실한 AI를 운영 가능한 시스템으로 만드는 구조와 원칙이한울 | 한빛미디어
      클로드와 엑셀로 시작하는 AI 주식 투자 - 데이터 수집부터 대시보드 자동화와 투자 판단까지 나만의 AI 주식 비서 만들기LearnAI Team | 위키북스
      AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
      AI 편집 디자인 - AI x 인디자인 x 일러스트레이터 x 포토샵으로 배우는 디자인 실무 편집 디자인 브로슈어 포스터 패키지 출판 편집 포트폴리오까지이미정, 유은진, 강경희, 신호진, 앤미디어 | 길벗
      일상에 바로 쓰는 일잘러의 바이브 코딩 활용법임재희, 조효기, 이정용 | 제이펍
      AI 시스템 설계 - 불확실한 AI를 운영 가능한 시스템으로 만드는 구조와 원칙이한울 | 한빛미디어
      클로드와 엑셀로 시작하는 AI 주식 투자 - 데이터 수집부터 대시보드 자동화와 투자 판단까지 나만의 AI 주식 비서 만들기LearnAI Team | 위키북스
      AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
      AI 편집 디자인 - AI x 인디자인 x 일러스트레이터 x 포토샵으로 배우는 디자인 실무 편집 디자인 브로슈어 포스터 패키지 출판 편집 포트폴리오까지이미정, 유은진, 강경희, 신호진, 앤미디어 | 길벗
      일상에 바로 쓰는 일잘러의 바이브 코딩 활용법임재희, 조효기, 이정용 | 제이펍
      AI 시스템 설계 - 불확실한 AI를 운영 가능한 시스템으로 만드는 구조와 원칙이한울 | 한빛미디어
      클로드와 엑셀로 시작하는 AI 주식 투자 - 데이터 수집부터 대시보드 자동화와 투자 판단까지 나만의 AI 주식 비서 만들기LearnAI Team | 위키북스
      교환/반품/환불
      반품/교환방법
      • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
      • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
      반품/교환 가능기간
      • 변심반품의 경우 수령 후 7일 이내
      • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
      반품/교환비용
      • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
      • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
      반품/교환 불가 사유
      • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
      • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
        예) 만화, 잡지, 수험서 및 문제집류
      • 복제가 가능한 상품 등의 포장을 훼손한 경우
        예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
      • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
      • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
      • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
      • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
      상품 품절
      • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
      소비자 피해보상
      환불지연에 따른 배상
      • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
      • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
      공지사항
      • [이벤트 당첨자 발표] 8월 모두의 서가 이벤트 당첨자 판매금액 리워드 안내
      • [이벤트 당첨자 발표] 26년 8월 <리뷰왕을 찾아라> 이벤트 당첨자 안내
      • [이벤트 당첨자 발표] 서울국제정원박람회, 김진명 작가 북토크 당첨자 안내
      • [이벤트 당첨자 발표] 9월 모두의 서가 이벤트 당첨자 안내
      • [공지사항] 스타필드마켓 월계 문구복합매장 그랜드 오픈 🎊 이벤트 안내!
      공지더보기