그림으로 배우는 알고리즘 BASIC

고객평점
저자스기우라 켄
출판사항영진닷컴, 발행일:2016/06/28
형태사항p.174 국판:23
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9788931453966 [소득공제]
판매가격 15,000원   13,500원  (인터넷할인가:10%)
포인트 675점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

▣ 출판사서평

그림을 통해 쉽게 배우는 친절한 알고리즘의 안내서!

알고리즘은 프로그래밍을 시작하기 전 가장 먼저 배우는 기초 단계입니다. 좋은 프로그램을 만들기 위해서는 알고리즘을 꼭 익혀야 합니다! 이 책은 ‘처음 시작하는 초보자도 충분히 이해할 수 있도록 최대한 쉽게 설명한다.’는 목표 아래 친절히 알고리즘을 알려주는 책입니다. 다양한 그림과 함께 알고리즘을 재미있게 학습해 나갈 수 있고, 이를 통해 프로그래밍을 할 때의 사고방식을 이해할 수 있도록 구성하고 있습니다.

이 책은 알고리즘과 프로그램이란 무엇인지부터 시작하여 프로그래밍의 기초인 변수와 배열, 여러 개의 데이터를 저장하기 위한 자료구조에 대해 알려줍니다. 기초적인 내용을 배우고 난 다음 기본적으로 쓰이는 알고리즘과 함께 프로그래밍에서 빠뜨릴 수 없는 정렬과 탐색 알고리즘, 알고리즘의 효율성을 측정할 수 있는 계산량까지 배울 수 있습니다. 이 책을 통해 프로그래밍 초보자들의 ‘알고리즘이 도대체 뭐지?’라는 의문을 해소할 수 있게 됩니다.

주요 내용

제 1 장 알고리즘이란
다양한 알고리즘을 이해하면 컴퓨터에서 동작하는 프로그램을 더 훌륭하게 작성할 수 있습니다. 효율적이고 정확하게 문제를 해결하는 프로그램을 작성하기 위해 알고리즘이란 무엇인지 알아봅니다.

제 2 장 변수와 배열
알고리즘은 문제를 해결하고 결과를 얻기 위한 처리입니다. 알고리즘의 처리 과정에는 다양한 임시 데이터가 필요합니다. 여기서는 알고리즘의 표현에 필요한 데이터를 유지하고 관리하기 위한 수단인 변수와 배열을 학습합니다.

제 3 장 자료구조
대량의 데이터를 입력하고 처리한 후, 그 결과를 출력하는 알고리즘에는 대량 데이터의 입출력 및 처리에 보다 효율적인 데이터 유지 관리 방법이 필요합니다. 이 장에서는 그 대량 데이터의 유지 관리 방법인 자료구조를 학습합니다.

제 4 장 기본적인 알고리즘
이 장에서는 알고리즘의 기초 중 기초라고 할 수 있는 배열을 사용한 반복 처리 알고리즘을 배웁니다. 또한 시간과 관련된 알고리즘, 변수 값의 교체, 최대공약수 구하기 등의 기본적인 알고리즘에 대해서도 설명합니다.

제 5 장 정렬과 검색
어떤 컴퓨터 프로그램에도 정렬 및 검색 처리는 반드시 포함됩니다. 따라서 프로그래밍을 할 때는 정렬과 검색 알고리즘을 마스터하는 것이 중요합니다. 이 장에서는 정렬과 검색을 학습합니다.

제 6 장 그 외의 알고리즘들
이 장에서는 과학 기술 계산 분야에서 활용할 수 있는 고차 방정식, 연립 방정식의 해와 정적분의 값을 구하는 알고리즘을 알아봅니다. 또한 그래프 이론을 이용하여 최적 경로를 찾는 알고리즘, 소수를 구하는 알고리즘 등 다양한 알고리즘들을 설명합니다.

제 7 장 알고리즘의 계산량
알고리즘은 주어진 과제를 해결할 수 있어야만 합니다. 따라서 더 빠르고 더 훌륭하게 과제를 해결할 수 있는 알고리즘이 뛰어난 알고리즘이라고 할 수 있습니다. 이 장에서는 우수한 알고리즘을 판단하는 기준인 계산량을 설명합니다.

▣ 작가 소개

저자 : 스기우라 켄
유한회사 시스템 로드에서 마이크로 컴퓨터 제어관련 프로그램 제작을 담당. 현재는 독립하여 주로 C, C++, VB.NET 언어를 사용한 윈도우 응용 프로그램 제작에 종사하고 있습니다. 또한 소프트웨어 제작사의 신입 사원 연수를 비롯하여 컴퓨터 전문학교의 외래 강사를 역임하였습니다. 저서로는 ‘프로그래밍의 기본’, ‘그림으로 배우는 간단 알고리즘’, ‘그림으로 이해하는 알고리즘의 기본과 원리’ 등이 있습니다.

역자 : 서재원
2009년부터 전산에 입문하여 다수의 프로젝트를 경험하였습니다. 최근에는 프리랜서 개발자로써 SPA(Single Page webApplication)개발에 전념하고 있습니다. 역서로는 ‘그림으로 배우는 Java Programming’, ‘그림으로 배우는 C++ Programming’ 등이 있습니다.

▣ 주요 목차

들어가며
역자의 말
등장 캐릭터 소개

제 1 장 알고리즘이란
001 음식 요리법은 알고리즘이다
002 알고리즘은 선인들의 지혜
003 알고리즘을 이해하는 것은 게임을 잘 하게 되는 것
004 알고리즘에는 ‘정당성’과 ‘정지성’이 있어야 한다
005 알고리즘에는 다양한 종류가 있다
COLUMN 알고리즘의 기초가 되는 구조적 프로그래밍의 개념

제 2 장 변수와 배열
006 데이터는 다양한 정보이다
007 모든 데이터에는 타입이 있다
008 값은 숫자와 문자의 구체적인 표현
009 변수는 값을 담는 상자이다
010 변수는 ‘변수명’이라는 이름으로 구별한다
011 대입문에는 변수에 값을 대입하는 기능이 있다
012 변수를 변수에 대입하면, 변수에 저장된 값이 다른 변수에 복사된다
013 변수에도 데이터 타입이 있다
014 동일한 데이터 타입이 연속되면 배열이다
015 배열은 ‘배열명’이라는 이름으로 구별한다
016 배열의 각 요소는 요소 번호라는 번호로 구분한다
017 배열은 관련된 값을 효율적으로 저장하기 위한 사물함이다
018 2차원 배열은 호텔의 객실 같은 것
019 배열의 각 요소는 2개의 첨자로 구별한다
020 문자열은 문자 데이터 배열이다
021 문자열의 길이는 문자 길이 변수 혹은 ‘보초 값’이 관리한다
COLUMN 관용적으로 사용되는 변수명

제 3 장 자료구조
022 대량 데이터를 효율적으로 관리하기 위한 메커니즘이 자료구조이다
023 다양한 종류의 자료구조들
024 책처럼 쌓이는 자료구조가 스택
025 계산대앞에 줄을 서듯 대기하는 자료구조가 대기 행렬 (큐)
026 끈으로 엮어서 데이터를 관리하는 것이 리스트
027 한쪽 방향에서 데이터를 찾아가는 단방향 리스트
028 양쪽 방향에서 데이터를 찾아가는 양방향 리스트
029 N번째 요소의 참조가 빠른 것은 배열, 느린 것은 리스트 구조
030 데이터의 삽입·삭제가 빠른 것은 리스트 구조, 느린 것은 배열
031 마지막 요소까지 이동하면 1번째 요소로 되돌아오는 링 버퍼
032 부모 하나에 자식 둘이 딸린 구조인 이진 트리
033 부모 노드의 값이 자식 노드의 값보다 항상 적은 이진 트리는 힙
034 해시 테이블은 배열과 리스트를 조합한 자료구조
035 정점과 간선으로 항목들의 관계를 그림으로 표현한 것이 그래프
COLUMN BASE를 0으로? BASE를 1로?

제 4 장 기본적인 알고리즘
036 1 ~ N의 합을 구하려면 반복 처리한다
037 수열의 값을 유지하려면 배열을 사용한다
038 배열 데이터의 합을 계산하려면 더한 값을 저장할 변수를 준비한다
039 배열 안의 요소의 개수를 구하려면 카운터를 준비한다
040 배열 데이터의 평균 값은 반복 처리를 통해 합계와 개수를 구한 후 계산한다
041 배열 데이터의 최대 값을 구하려면 최대 값을 저장할 변수를 준비한다
042 배열 데이터의 최소 값을 구하려면 최소 값을 저장할 변수를 준비한다
043 배열 데이터에 등수를 매기려면 순위를 저장할 또 다른 배열을 준비한다
044 시간의 크고 작음을 비교하려면 단위를 초 단위로 통일한다
045 시간차를 구할 때는 초 단위로 바꾸어 뺄셈하고, 다시 시간으로 바꾼다
046 두 변수의 값을 교환할 때는 임시 변수를 사용한다
047 두 수의 최대공약수는 유클리드 호제법으로 구한다
COLUMN 코드와 데이터는 어디에 있을까?

제 5 장 정렬과 검색
048 정렬(소트)이란 대상을 특정한 규칙에 따라 정렬하는 것
049 정렬 알고리즘에는 다양한 종류가 있다
050 다른 배열(양동이)에 데이터를 저장하고 정렬하는 ‘버킷 정렬’
051 아래 자릿수부터 윗 자릿수까지 버킷 정렬을 반복하는 ‘기수 정렬’
052 최소 값(최대 값)을 골라서 이미 정렬된 마지막 요소와 교환하는 ‘단순 선택 정렬’
053 이웃한 데이터들을 교환해 나가는 ‘단순 교환 정렬(버블 정렬)’
054 정렬된 데이터를 비교해서 올바른 위치에 삽입하는 ‘단순 삽입 정렬’
055 데이터 열을 일정한 길이의 그룹으로 나누어 정렬하는 ‘셸 정렬’
056 정렬된 여러 개의 데이터 열을 합체시키는 ‘병합(merge)’
057 병합(merge) 알고리즘을 이용하여 정렬하는 ‘병합 정렬’
058 기준 데이터와 크기를 비교해서 데이터를 2등분 하는 ‘퀵 정렬’
059 힙 구조를 이용하여 정렬하는 ‘힙 정렬’
060 검색이란 여러 개의 데이터 안에서 원하는 데이터를 찾아내는 것
061 처음부터 끝까지 샅샅이 데이터를 비교하는 ‘순차 검색(리니어 서치)’
062 정렬된 데이터 안에서 고속 검색하는 ‘이진 검색(바이너리 서치)’
063 주어진 문자열 안에서 원하는 문자열의 위치를 찾아내는 ‘문자열 검색’
064 비교할 필요가 없는 문자열은 건너 뛰고 고속으로 검색하는 ‘KMP 알고리즘’
065 문자열을 끝에서부터 검색하는 ‘BM 알고리즘’
COLUMN 관계형 데이터베이스를 이용한 정렬과 검색

제 6 장 그 외의 알고리즘들
066 미분을 활용하여 고차 방정식의 해를 구하는 ‘뉴턴법’
067 연립 방정식의 해를 구하는 ‘가우스 소거법’
068 사다리꼴의 면적을 더하여 정적분의 값을 구하는 ‘사다리꼴 공식’
069 그래프에서의 최적 경로를 구하는 ‘데이크스트라 알고리즘’
070 자연수 n이 소수인지 아닌지를 걸러 내는 ‘에라토스테네스의 체’
071 재귀호출을 이용하여 N의 팩토리얼 구하기
COLUMN 알고리즘과 플로우 차트(순서도)

제 7 장 알고리즘의 계산량
072 알고리즘의 계산량에는 시간 계산량과 영역 계산량이 있다
073 시간 계산량은 ‘연산?, ‘조건 비교?, ‘대입’ 등의 조작 횟수로 측정한다
074 알고리즘의 계산량은 ‘O(빅-오) 표기법’으로 표현한다
COLUMN 프로그래밍을 잘 하려면

참고 문헌
색인

작가 소개

목 차

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우