책소개
누구나 알고리즘 기초를 그림으로 쉽게! 새롭게 개정된 가장 쉬운 알고리즘 입문서
학생들에게 신설된 코딩 수업이나 정보 또는 AI 수업을 시작할 때 무엇부터 가르쳐야 할까? 아마 사고나 논리의 체계를 세운 뒤 프로그래밍으로 들어가는 방법을 가르쳐야 할 것입니다. 프로그래머나 프로그래밍 언어를 익혀서 실제로 코드를 작성할 때도 마찬가지다. 이처럼 중요한 프로그래밍의 기초이자 사고와 논리의 뼈대에 해당하는 알고리즘의 기본, 개념, 순서도, 프로그래밍의 흐름을 이 책에서는 서장(0장)에서 먼저 잡아준다. 1장에서 8장까지 본문에서는 알고리즘의 기초부터 고급 알고리즘, C언어 문법부터 고급 프로그래밍까지 한 단계씩 나아갈 수 있다. 부록으로 제공되는 9장에서는 프로그래밍할 때의 마음가짐이라든가 비주얼 스튜디오로 개발하고 디버그하는 방법까지 체계적으로 안내한다. 이번에 새롭게 개정되어 선보인 스테디셀러였던 『알고리즘이 보이는 그림책』의 개정증보판은 그림책 시리즈의 명성에 걸맞게 프로그래밍 공부를 시작하려는 모든 이들에게 학생들에게 길잡이 역할을 제대로 해줄 것이다.
목차
제0장. 알고리즘 공부를 시작하기 전에 알고리즘이 별건가? / 프로그램이 만들어지기까지 / 프로그램 흐름이 한눈에 쏘~옥 들어오는 순서도 / C 언어 따라잡기 / 프로그래밍에서 실행까지의 흐름 / 프로그램 작성의 오(五)계명
제1장. C 언어 기초 다지기 Hello world! / 변수와 상수 / 수치형 / 배열 / 포인터 변수 / 문자와 문자열 / 계산 연산자 / 기타 연산자 / 파일 읽고 쓰기 / 키보드 입력 / 메모리 확보 / 구조체
[exercise] 도전! 알고리즘[알고리즘 상식] 변수명 잘 붙이는 법제2장. 기본적인 제어제어의 종류와 구조화 / if 문 / for 문과 while 문 / 기타 제어문
[exercise] 도전! 알고리즘[알고리즘 상식] 구조화 이전의 프로그램제3장. 제어의 활용 1부터 5까지의 합 / 배열에서 값 찾기(1) / 배열에서 값 찾기(2) / 평균 구하기 / 막대 그래프 그리기 / 두 문자열 연결하기 / 역순으로 읽으면 / 파일의 내용을 표시하기 / 앞면? 뒷면? 동전 던지기 게임
[exercise] 도전! 알고리즘[알고리즘 상식] 스택과 큐제4장. 함수의 이용함수란? / 함수의 정의와 사용 / main( ) 함수 / 함수의 특징 / 함수의 활용 / 함수의 재귀 호출
[exercise] 도전! 알고리즘[알고리즘 상식] 함수의 포인터
제5장. 문제 대처 방법
문제 정리하기 / 프로그램의 설계 / 프로그램의 작성(1) / 프로그램의 작성(2) / 프로그램 정리하기 / 테스트와 디버그 / 완성 프로그램
[exercise] 도전! 알고리즘[알고리즘 상식] 상향식/하향식 접근 방식제6장. 실무 프로그래밍구조 분석하기 / 데이터 형식 정하기(1) / 데이터 형식 정하기(2) / 기본 설계의 결정(1) / 기본 설계의 결정(2) / 메인 부분을 만든다 / 세부 기능 작성(1) / 세부 기능 작성(2) / 완성 프로그램
[exercise] 도전! 알고리즘[알고리즘 상식] 시간이 걸리는 처리제7장. 고급 알고리즘 소수 구하기 / 소인수 분해 / 최대 공약수 구하기 / 연결 리스트(1) / 연결 리스트(2)
[exercise] 도전! 알고리즘[알고리즘 상식] 알고리즘의 고안제8장. 정렬과 검색단순 정렬 / 버블 정렬 / 삽입 정렬 / 셸 정렬 / 퀵 정렬 / 이진 검색
[exercise] 도전! 알고리즘[알고리즘 상식] qsort( )와 bsearch( )제9장. (부록) 고급 프로그래밍 묘수 꽁수!
(부록 1) 프로그램을 짜다가 막히면
(부록 2) 프로그래밍할 때의 마음가짐 8가지
(부록 3) Visual Studio 설치
(부록 4) Visual Studio를 이용한 개발
(부록 5) 일반적인 디버그 기법
(부록 6) Visual Studio의 디버거
용어해설 모음
찾아보기
저자
ANK Co., Ltd.
출판사리뷰
이 책의 특징
- 그림(일러스트)을 많이 수록하고 짧은 해설의 그림책처럼 시각적으로 이해할 수 있습니다.
- 펼침 면으로 설명 기초에 맞춘 내용으로 빠르게 습득할 수 있습니다.
- 설명은 기본 중의 기본인 ‘C 언어 기초’에서 배울 수 있습니다.
- 프로그래밍을 위해 필요한 지식을 널리 보충하고, 코드 작성을 익힐 수 있습니다.
- 환경 구축에서 내용을 최신으로 업데이트하고 실제로 시험해 배울 수 있습니다.
천리길도 한 걸음부터다. 프로그래밍을 공부하더라도 반드시 알고리즘을 통한 논리적 사고 체계를 먼저 공부해야 한다. 이 책의 정의에 따르면 알고리즘(Algorithm)은 ‘프로그램으로 뭔가 처리를 한 결과를 얻기 위한 절차나 방법’을 말한다. 요즘같이 컴퓨터적인 사고, 문제해결 능력을 유소년 시절부터 강조하는 4차 산업혁명 변환기에 알고리즘은 그래서 더욱 중요할 수밖에 없다. 특히 요즘같이 인공지능 시대, 인간의 논리적인 판단력이 나은지 인공지능이 나은지 우위를 따지기도 하는 시대에는 논리적인 순서, 알고리즘이 더욱 중요하다.
이 책은 ‘알고리즘’이라는 어려운 주제를 그림으로 쉽게 설명하는 책이다. 이제는 코딩 교육 시대이므로 꼭 프로그래머가 되겠다는 유소년부터 전공 대학생, 일반인, 전문 프로그래머에게까지 폭넓게 추천할 수 있는 알고리즘 입문서이다. 그림을 이용한 풍부한 예제를 통해 설명함으로써 어려운 내용을 보다 쉽게 이해할 수 있게 해준다. 프로그램 작성의 어느 한 부분에 대한 예만을 제시하는 것이 아니라 문제의 이해에서부터 프로그램을 디자인하고 알고리즘을 만들어 코딩을 하는 전 과정을 상세하게 단계별로 설명해 줌으로써 프로그램 작성의 모든 과정에 대한 이해를 돕는다.
내용은 전체 9장과 부록으로 구성되어 있으며, 각 장은 그림을 곁들인 설명과 더불어 연습문제까지 포함하여 학습 효과를 높이고 상식 코너를 두어 학습서의 기본 구성까지 갖추었다. 부록으로는 좋은 프로그래밍 시 지켜야 할 8가지, Visual Studio 설치, 일반적인 디버그 기법, 용어 해설 모음 등도 수록되어 있다.
챕터별 요약
제0장. 알고리즘 공부를 시작하기 전에 - 이 장에서는 알고리즘의 정의, 프로그램의 흐름도인 순서도, C 언어의 개요, 프로그램 작성의 다섯 계명 등에 대해 설명합니다.
제1장. C 언어 기초 다지기 - 알고리즘을 이해하는데 필요한 C 언어의 기초에 대해 설명합니다. Hello World!라는 문자를 표시하는 프로그램 작성법부터 시작하여 C 언어의 주요 개념을 설명합니다.
제2장. 기본적인 제어 - 프로그램은 물 흐르듯이 위에서부터 순서대로 처리되는데, 이 흐름을 바꿈으로서 많은 기능을 가질 수 있게 됩니다. 여기서는 제어문과 구조화에 대해서 알아봅니다.
제3장. 제어의 활용 - 이 장에서는 제어문을 사용한 프로그래밍 예제를 풀어가면서 바르고, 효율적으로 작동하는 프로그래밍 방법을 설명합니다.
제4장. 함수의 이용 - 함수란 ’일련의 처리 집합으로 표준 라이브러리 함수는 복잡한 처리를 직접 기술하지 않고도 다양한 기능을 구현할 수 있는 마법의 블랙박스입니다. 이 장에서는 C 언어의 함수를 알아봅니다.
제5장. 문제 대처 방법 - 이 장에서는 달력을 표시하는 프로그램을 만들어봄으로써 필요한 정보를 구하고 이를 조합하는 방법에 대해서 알아봅니다.
제6장. 실무 프로그래밍 - 실용 프로그래밍에서는 시작까지의 설계 공정과 확인 과정이 중요합니다. 이 장에서는 라인 에디터를 만들면서 비교적 큰 프로그램을 만들 때 필요한 핵심을 설명합니다.
제7장. 고급 알고리즘 - 이 장에서는 소수, 소인수 분해, 최대 공약수를 구하는 수학적 공식을 프로그래밍해 봅니다. 또한 데이터를 저장하는 기법(데이터 구조) 중 하나인 연결 리스트(Link List)에 관해 알아봅니다.
제8장. 정렬과 검색 - 이 장에서는 알고리즘의 2대 지주인 배열의 요소를 정렬(Sort)하거나 배열에서 데이터를 검색(Search)하는 알고리즘에 대해 설명합니다.
제9장. [부록] 고급 프로그래밍 묘수 꼼수 - 이 장에서는 프로그램을 짜다가 막히면, 프로그래밍 할 때의 마음가짐 8가지, 비주얼 스튜디오 설치와 개발과 디버그 방법 등을 안내합니다.