도서소개
프로그래밍의 논리적 DNA, 알고리즘을 그림으로 마스터!
이 책의 정의에 따르면 알고리즘(algorithm)은 ‘프로그램으로 뭔가 처리를 한 결과를 얻기 위한 절차나 방법’을 말한다. 요즘같이 컴퓨터적인 사고, 문제해결 능력을 유소년 시절부터 강조하는 4차산업혁명 시대에 알고리즘은 그래서 더욱 중요할 수밖에 없다. 특히 요즘같이 인공지능 시대, 인간의 논리적인 판단력이 나은지, 인공지능이 나은지 우위를 따지기도 하는 시대에는 논리적인 순서, 알고리즘이 더욱 중요하다.
왜? 프로그래밍을 짤 때 알고리즘은 기본 논리적 골격, 건축에서 말하면 설계도에 해당하니까. 설계도 없이 집을 지을 수 없는 것처럼 알고리즘이 없이 프로그래밍을 짠다면 논리적인 허점이 많아 실행이 불가능한 작업이 되거나 훨씬 더 많은 시간이 소요되며, 프로그램의 정확성과 안정성에도 큰 영향을 준다. 따라서 프로그래밍을 제대로 공부하려면 반드시 알고리즘을 먼저 배울 필요가 있다. 그러나 실제로 알고리즘만을 떼어서 가르치는 과목은 많지 않고 쉽게 설명하는 책도 흔치 않다. 또, 컴퓨터과학 전공 대학생들에게도 알고리즘은 어려운 과목 중의 하나이다.
이 책은 ‘알고리즘’이라는 어려운 주제를 그림으로 쉽게 설명하는 책이다. 이제는 코딩 교육 시대이므로 꼭 프로그래머가 되겠다는 유소년부터 전공 대학생, 일반인, 전문 프로그래머에게까지 폭넓게 추천할 수 있는 알고리즘 입문서이다. 그림을 이용한 풍부한 예제를 통해 설명함으로써 어려운 내용을 보다 쉽게 이해할 수 있게 해준다. 프로그램 작성의 어느 한 부분에 대한 예만을 제시하는 것이 아니라 문제의 이해에서부터 프로그램을 디자인하고 알고리즘을 만들어 코딩을 하는 전 과정을 상세하게 단계별로 설명해 줌으로써 프로그램 작성의 모든 과정에 대한 이해를 돕는다.
내용은 전체 9장과 부록으로 구성되어 있으며, 각 장은 그림을 곁들인 설명과 더불어 연습문제까지 포함하여 학습 효과를 높이고 상식 코너를 두어 학습서의 기본 구성까지 갖추었다. 부록으로는 좋은 알고리즘 vs. 나쁜 알고리즘, 프로그래밍 시 지켜야 할 8계명, 볼랜드 C++ 5.5 설치, 프로그래밍을 짜다가 막히면, 용어 해설 모음 등도 수록되어 있다.
도서목차
제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 : 프로그램을 짜다가 막히면
용어해설 모음
해시태그
#알고리즘이 #보이는 #그림책 #국내 #최초 #그림으로 #배우는 #Algoritjm #입문서