그들은 알고리즘을 알았을까? (길 찾던 헨젤과 그레텔, 마법 주문 외우던 해리 포터)

그들은 알고리즘을 알았을까? (길 찾던 헨젤과 그레텔, 마법 주문 외우던 해리 포터)

$18.87
Description
영화와 동화 속 이야기로 풀어내는
컴퓨터 과학과 알고리즘
컴퓨터 과학은 체계적인 문제 해결의 연구로, 우리가 매일 겪는 일상의 활동들이 문제 해결과 관련이 있습니다. 아침에 일어나고, 샤워를 하고, 옷을 입고, 아침을 먹는 간단한 일상은 일련의 잘 정의된 단계를 거쳐, 반복되는 문제를 해결합니다. 컴퓨터 과학에서 이러한 과정을 알고리즘이라고 합니다. 이 책은 우리에게 친숙한 영화, 동화와 일상생활 이야기로 컴퓨터 과학과 알고리즘의 개념을 풀어냅니다.

컴퓨터 과학의 주제는 계산입니다. 이 책은 아침 식사, 출근, 병원 진료, 취미 활동 등 일상생활 속에서 발견할 수 있는 계산의 사례로 이야기를 시작합니다. 그리고 헨젤과 그레텔, 인디아나 존스, 해리 포터 등의 이야기를 통해 알고리즘, 표상, 제어구조, 재귀 등 컴퓨터 과학의 개념을 설명합니다. 컴퓨터 과학과 알고리즘을 처음 접하는 분들, 컴퓨터 과학의 개념을 이해하는 데 어려움을 겪고 있는 분들 모두 영화와 동화 이야기와 함께라면 이를 쉽고 재미있게 배울 수 있을 겁니다.
저자

MartinErwig

저자MartinErwig
오리건주립대학교(OregonStateUniversity)전기공학및컴퓨터과학과,컴퓨터과학교수

목차

PART01알고리즘
Chapter01계산및알고리즘:헨젤과그레텔
01계산을이해하는길
02정말로가보기:계산이실제로벌어질때

Chapter02표상과데이터구조:셜록홈즈
03기호의신비
04탐정의수첩:사실을좇는소품

Chapter03문제해결과한계:인디아나존스
05완벽한데이터구조를찾아서
06좋은정렬방식을골라내기
07풀기어려운과제

PART02언어
Chapter04언어와의미:오버더레인보우
08언어의프리즘
09딱맞는음찾기:소리의의미

Chapter05제어구조및순환문:사랑의블랙홀
10날씨다시반복
11해피엔딩은필연이아니다

Chapter06재귀:백투더퓨처
12제때에해두면제대로풀린다
13해석하기나름

Chapter07유형과추상화:해리포터
14마법의유형
15조감도:세부사항에서추상화하기

출판사 서평

Chapter01계산및알고리즘:헨젤과그레텔
계산을수행하는것은컴퓨터에의한알고리즘의실행입니다.알고리즘만있으면언제어떤컴퓨터를이용해서든반복적으로계산을수행할수있습니다.계산의또다른중요한측면은자원을필요로하며시간이걸린다는것입니다.여기서다시알고리즘적기술이중요해지는데,왜냐하면그것이계산에필요한자원을분석하는데에도움이되기때문입니다.1장과2장에서는알고리즘의개념과,알고리즘이체계적인문제해결을위해사용됨을설명합니다.

Chapter02표상과데이터구조:셜록홈즈
계산의핵심은표상을변형시키는것입니다.3장에서는표상이란무엇이며어떻게계산에사용하는지설명합니다.계산은많은경우대량의정보를대상으로하기때문에,4장에서는어떻게대량의데이터를효율적으로구성할수있는지설명합니다.이러한질문이까다로운이유는데이터구성방식에따라데이터에접근하는어떤방식은효율적으로지원하지만,다른방식에는그렇지않다는사실때문입니다.

Chapter03문제해결과한계:인디아나존스
알고리즘을통해해결할수있는많은문제중에서두가지는특히자세히논의해볼만한가치가있습니다.5장에서는데이터에대해가장자주사용되는계산중하나인검색문제를설명합니다.6장에서는정렬문제를설명하면서,강력한문제해결방법과문제의고유복잡도라는개념에대해서설명하며,7장에서는소위풀기어려운문제에대해서설명합니다.이러한문제에대해서도알고리즘은존재하지만실행이너무오래걸리므로실질적으로이런문제들은해결할수없습니다.

Chapter04언어와의미:오버더레인보우
모든알고리즘은어떤종류의언어이든언어로표현됩니다.현재의컴퓨터는인간과달리자연어가가지는모호성을쉽게처리할수없으므로인간의언어로프로그래밍될수없습니다.따라서컴퓨터에의해실행되는알고리즘은구조와의미가잘정의된언어로작성되어야합니다.8장에서는언어가무엇인지,구문을어떻게정의할수있는지설명합니다.언어의구문은각문장이잘정의된구조를가지도록보장함으로써문장과언어의의미를이해하고정의하기위한기초를제공합니다.9장에서는언어의의미와모호함의문제에대해논의합니다.

Chapter05제어구조및순환문:사랑의블랙홀
알고리즘의명령어에는두가지종류가있습니다.그중하나는직접데이터를조작하기위한것이고다른하나는다음에수행될명령어와그빈도를결정하기위한것입니다.후자의경우를제어구조라고부릅니다.10장에서는다양한제어구조를설명하고반복적으로동작을표현하는데사용되는순환문을중점적으로살펴봅니다.11장에서논의할중요한질문은순환문이끝날지혹은영원히반복될지의여부와,이것이알고리즘에의해확인될수있는지의여부에관한것입니다.

Chapter06재귀:백투더퓨처
단순화된부분으로복잡한시스템을설명하거나구현하는프로세스인축소의원칙은많은과학기술분야에서중요한역할을합니다.재귀는자기자신을참조하는축소의특수한형태입니다.많은알고리즘이재귀적입니다.12장에서는재귀에대해설명합니다.재귀는제어구조이지만데이터구성을정의할때도사용됩니다.13장에서는재귀를이해하기위한다양한접근법을설명합니다.

Chapter07유형과추상화:해리포터
표상과변환방식을분류해서적용가능한변환과적용의의미가없는변환을구분할수있습니다.이러한그룹을유형(type)이라고하며변환및표상의조합을허용하는규칙을유형규칙이라고합니다.유형및유형규칙은알고리즘설계에도움이됩니다.14장에서는유형이무엇인지설명하고,이를사용해서계산의정규성을기술하기위한규칙들을만드는방법을설명합니다.이러한규칙들은알고리즘에서오류를찾는데사용될수있습니다.유형은개별대상의세부사항을무시함으로써더일반적인수준에서규칙을공식화할수있다는데에그강점이있습니다.세부사항을무시하는과정을추상화라고합니다.15장에서는왜추상화가컴퓨터과학의핵심이며어떻게추상화가유형뿐만아니라알고리즘,심지어컴퓨터와언어에적용되는지를살펴봅니다.