미리보기
알고리즘이 보이는 그림책(2판 8쇄)
국내 최초 그림으로 배우는 알고리즘 입문서
ISBN 978-89-315-5581-3
저자 ANK Co.,Ltd.
발행일 2018-09-17
역자 이영란
분량 256쪽
편집 2도
판형 188x257
개정판정보 2018년 9월 17일
정가 17,000원↓
판매가 15,300
(10% off)
적립금 850원(5%)
  소득공제
도서소개

책 소개

 

프로그래밍의 논리적 DNA, 알고리즘을 그림으로 마스터!




알고리즘이 보이는 그림책



(28)

 

 

이 책의 정의에 따르면 알고리즘(algorithm)프로그램으로 뭔가 처리를 한 결과를 얻기 위한 절차나 방법을 말한다. 요즘같이 컴퓨터적인 사고, 문제해결 능력을 유소년 시절부터 강조하는 4차산업혁명 시대에 알고리즘은 그래서 더욱 중요할 수밖에 없다. 특히 요즘같이 인공지능 시대, 인간의 논리적인 판단력이 나은지, 인공지능이 나은지 우위를 따지기도 하는 시대에는 논리적인 순서, 알고리즘이 더욱 중요하다.

? 프로그래밍을 짤 때 알고리즘은 기본 논리적 골격, 건축에서 말하면 설계도에 해당하니까. 설계도 없이 집을 지을 수 없는 것처럼 알고리즘이 없이 프로그래밍을 짠다면 논리적인 허점이 많아 실행이 불가능한 작업이 되거나 훨씬 더 많은 시간이 소요되며, 프로그램의 정확성과 안정성에도 큰 영향을 준다. 따라서 프로그래밍을 제대로 공부하려면 반드시 알고리즘을 먼저 배울 필요가 있다. 그러나 실제로 알고리즘만을 떼어서 가르치는 과목은 많지 않고 쉽게 설명하는 책도 흔치 않다. , 컴퓨터과학 전공 대학생들에게도 알고리즘은 어려운 과목 중의 하나이다.

이 책은 알고리즘이라는 어려운 주제를 그림으로 쉽게 설명하는 책이다. 이제는 코딩 교육 시대이므로 꼭 프로그래머가 되겠다는 유소년부터 전공 대학생, 일반인, 전문 프로그래머에게까지 폭넓게 추천할 수 있는 알고리즘 입문서이다.

그림을 이용한 풍부한 예제를 통해 설명함으로써 어려운 내용을 보다 쉽게 이해할 수 있게 해준다. 프로그램 작성의 어느 한 부분에 대한 예만을 제시하는 것이 아니라 문제의 이해에서부터 프로그램을 디자인하고 알고리즘을 만들어 코딩을 하는 전 과정을 상세하게 단계별로 설명해 줌으로써 프로그램 작성의 모든 과정에 대한 이해를 돕는다.

내용은 전체 9장과 부록으로 구성되어 있으며, 각 장은 그림을 곁들인 설명과 더불어 연습문제까지 포함하여 학습 효과를 높이고 상식 코너를 두어 학습서의 기본 구성까지 갖추었다. 부록으로는 좋은 알고리즘 vs. 나쁜 알고리즘, 프로그래밍 시 지켜야 할 8계명, 볼랜드 C++ 5.5 설치, 프로그래밍을 짜다가 막히면, 용어 해설 모음 등도 수록되어 있다.

 

 

내용 요약

0. 프로그래밍을 시작하기 전에 - 이 장에서는 알고리즘의 정의, 프로그램의 흐름도인 순서도, C 언어의 개요, 프로그램 작성의 다섯 계명 등에 대해 설명합니다.

 

1. C 언어 기초 다지기 - 알고리즘을 이해하는데 필요한 C언어의 기초에 대해 설명합니다. 'Hello World!'라는 문자를 표시하는 프로그램 작성법부터 시작하여 C언어의 주요 개념을 설명합니다.

 

2. 프로그램 흐름을 자유자재로 바꾸는 제어 - 프로그램은 물 흐르듯이 위에서부터 순서대로 처리되는데, 이 흐름을 바꿈으로서 많은 기능을 가질 수 있게 됩니다. 여기서는 제어문과 구조화에 대해서 알아봅니다.

 

3. 제어로 프로그램 주무르기 - 이 장에서는 제어문을 사용한 프로그래밍 예제를 풀어가면서 바르고, 효율적으로 작동하는 프로그래밍 방법을 설명합니다.

 

4. 함수로 마술 부리기 - 함수란 '일련의 처리 집합'으로 표준 라이브러리 함수는 복잡한 처리를 직접 기술하지 않고도 다양한 기능을 구현할 수 있는 마법의 블랙박스입니다. 이장에서는 C 언어의 함수를 알아봅니다.

 

5. 문제 처리 절차 - 이 장에서는 달력을 표시하는 프로그램을 만들어봄으로써 필요한 정보를 구하고 이를 조합하는 방법에 대해서 알아봅니다.

 

6. 라인 에디터로 맛보는 실용 프로그램 - 실용 프로그래밍에서는 시작까지의 설계 공정과 확인 과정이 중요합니다. 이 장에서는 라인 에디터를 만들면서 비교적 큰 프로그램을 만들 때 필요한 핵심을 설명합니다.

 

7. 실력이 쑥쑥! 고급 알고리즘 익히기 - 이 장에서는 소수, 소인수 분해, 최대 공약수를 구하는 수학적 공식을 프로그래밍해 봅니다. 또한 데이터를 저장하는 기법(데이터 구조)중 하나인 연결 리스트(link list)에 관해 알아봅니다.

 

8. 알고리즘의 양대 산맥, 정렬과 검색 - 이 장에서는 알고리즘의 2대 지주인 배열의 요소를 정렬(sort) 하거나 배열에서 데이터를 검색(search) 하는 알고리즘에 대해 설명합니다.

 

 

저자 소개

주식회사 ANK (http;//www.ank.co.jp)

소프트웨어 개발부터 웹 시스템 구축, 디자인, 도서 집필까지 폭넓게 활동하는 회사. 주요 저서로는 가 보이는 그림책>, 가 보이는 그림책>, 가 보이는 그림책>등 그림책 시리즈와 사전>, <홈페이지 사전>, 태그 사전>,사전>, 사전> 등 사전 시리즈(모두 Shoeisha 간행)외 다수가 있다.++<><><>

 

 

역자 소개

이영란

도쿄대학 총합문화연구과 박사 과정을 졸업한 전 시스템 엔지니어. 현재 일본에서 강의 및 연구 활동과 컴퓨터 도서 전문 번역가로 활동 중이다. 주요 번역 도서로는 이 보이는 그림책>, Visual Basic이 보이는 그림책, 성공과 실패를 결정하는 1%Java 프로그래밍 원리, 10일에 끝내는 C 언어 입문교실 제3, 실천 반복형 소프트웨어 개발, HTML5 & CSS 사전> 외 다수가 있다. <>

 


감역자 소개

이상규

숙명여자대학교 컴퓨터과학과 교수   

 

 

추천사

이 책의 가장 맘에 드는 부분은 지루하지 않게 읽힌다는 점이다. 그것은 흥미를 가지고 학습 할 수 있는 다양한 그림과 예제를 통해, 알고리즘에 대해 체계적으로 설명하고 있기 때문일 것이다. 또한 쉬운 예제부터 하니씩 풀어나갈 수 있도록 해 준 구성에서 초보자를 위한 책이 라는 의지가 엿보인다. 알고리즘을 처음 접하는 사람에게 권하고 싶은 책이다.

- 박성준(건국대학교 컴퓨터공학과 HCI 연구실 박사과정)

 

제목에서 느껴지듯이 이 책은 처음부터 끝까지 다양한 그림을 통해 알고리즘에 대한 열린 사 고를 하는 데 도움을 주고 있다. 제목에서 느낄 수 있듯 알고리즘이 보이는 이 책은 진짜로 알 고리즘과 친해지는 법을 배울 수 있다. 이 책처럼 스스로 깨우칠 수 있게 해주는 책은 드물다. 많이 생각해서 만든 책 같다.

- 유승우(프레임웍스랩 부사장)

 

알고리즘은 공부하기 어려운 분야다. 몇 년 동안 공부했지만, 아직도 알고리즘은 내게 막연하 고 막막한 존재다. 이 책은 알고리즘에 첫발을 내딛는 독자를 위한 알고리즘 입문서로서 손색 이 없다. 쉬운 그림 등을 통해 친근하게 설명한 것이 인상적이며, 배운 내용을 토대로 연습 문 제를 풀어 보면서 실력을 쌓아갈 수 있도록 한 구성이 돋보인다. 그리고 실제로 프로그래밍을 하다가 막힐 때의 대처 방법 등을 유형별로 분류한 부록 부분도 마음에 든다. 이 모든 것이 실 제 프로그램을 개발할 때 도움이 되는 것들이다. 좋은 책은 누구나 쉽게 이해할 수 있는 책이 어야 한다. 그런 점에서 이 책은 좋은 책이라 할 수 있다 .

- 이왕희(경북대학교 전기전자컴퓨터학부)

언제나 알고리즘은 내게 너무나 어려운 과제이었다. 시중에 나와 있는 많은 책을 봐도 모두가 어려운 말만 되풀이되어 있어서 이해하기 힘들었고, 과연 누구를 위한 책인가하는 의문마저 드는 것도 있었다. 그러나 이 책은 알고리즘을 공부하고 있거나 공부하려는 사람에게 입문서 로 가장 적절한 책이라고 생각된다. 어떻게 하면 더 안정적이고 좋은 프로그램을 만들 수 있는지에 대한 설명이 자세하게 나와 있기 때문이다. 프로그램 만드는 것을 정식으로 공부하고 싶다면, 알고리즘에 대해 체계적으로 설명한 이 책을 통해 기본기를 탄탄히 다지길 바란다.

- 홍순기(연세대학교 전기전자공학부)

 

목차

차례

0. 프로그래밍을 시작하기 전에

01_ 알고리즘이 별건가? / 02_ 프로그램이 만들어지기까지 / 03_ 프로그램 흐름이 한눈에 쏙 들어오는 순서도 / 04_ C 언어 따라잡기 / 05_ 프로그램 작성의 다섯 계명

 

1. C 언어 기초 다지기

01_ Hello world! / 02_ 변수와 정수 / 03_ 수치형 / 04_ 배열 / 05_ 포인터 변수 / 06_ 문자와 문자열 / 07_ 계산 연산자 / 08_ 기타 연산자 / 09_ 파일 읽고 쓰기 / 10_ 키보드 입력 / 11_ 메모리 확보 / 12_ 구조체 / 상식_ 변수명 잘 붙이는 법

 

2. 프로그램 흐름을 자유자재로 바꾸는 제어

01_ 제어의 종류와 구조화 / 02_ if / 03_ for 문과 while / 04_ 기타 제어문 / 상식_ 구조화 이전의 프로그램

 

3. 제어로 프로그램 주무르기

01_ 1부터 5까지의 합 / 02_ 배열에서 값 찾기 1 / 03_ 배열에서 값 찾기 2 / 04_ 평균 구하기 / 05_ 막대 그래프 그리기 / 06_ 두 문자열 연결하기 / 07_ 역순으로 읽으면 / 08_ 파일의 내용을 표시하기 / 09_ 앞면? 뒷면? 동전 던지기 게임 / 상식_ 스택과 큐

 

4. 함수로 마술부리기

01_ 함수란? / 02_ 함수의 정의와 사용 / 03_ main( ) 함수 / 04_ 함수의 특징 / 05_ 함수의 활용 / 06_ 함수의 재귀호출 / 상식_ 함수의 포인터 / 5. 문제 처리 절차 / 01_ 문제 정리하기 / 02_ 프로그램의 설계 / 03_ 프로그램의 작성 1 / 04_ 프로그램의 작성 2 / 05_ 프로그램 정리하기 / 06_ 테스트와 디버그 / 07_ 완성 프로그램 / 상식_ 상향식 하향식 접근 방식

 

6. 라인 에디터로 맛보는 실용 프로그램

01_ 구조 분석하기 / 02_ 데이터 형식 정하기 1 / 03_ 데이터 형식 정하기 2 / 04_ 기본 설계의 결정 / 05_ 메인 부분을 만든다 / 06_ 세부 기능 작성 1 / 07_ 세부 기능 작성 2 / 08_ 완성 프로그램 / 상식_ 처리에 걸리는 시간

 

7. 실력이 쑥쑥! 고급 알고리즘 익히기

01_ 소수 구하기 / 02_ 소인수 분해 / 03_ 최대 공약수 구하기 / 04_ 연결 리스트 1 / 05_ 연결 리스트 2 / 상식_ 알고리즘의 고안

 

8. 알고리즘의 양대 산맥, 정렬과 검색

01_ 버블 정렬 / 02_ 삽입 정렬 / 03_ 쉘 정렬 / 04_ 퀵 정렬 / 05_ 이진 검색 / 상식_ qsort( )bsearch( )

 

부록. 고급 프로그래밍 묘수 꽁수! / 1 : 좋은 알고리즘 VS. 나쁜 알고리즘 / 2 : 프로그래밍시 지켜야 할 8계명 / 3 : Borland C++ 5.5 설치 / 4 : 프로그램을 짜다가 막히면

 

용어해설 모음

저자
부록/예제소스
정오표
    최근 본 상품 1