리얼월드 알고리즘
더북(TheBook)

리얼월드 알고리즘

현실 세계 문제를 해결해 보며 컴퓨팅 사고의 핵심인 알고리즘을 배운다!
실용적인 알고리즘의 구현 방법을 배워본다.

이 책은 컴퓨터과학의 문제 해결 방법인 알고리즘이 현실 세계 문제들을 어떤 방식으로 해결하는지 보여준다. 금융 거래, 웹 페이지에서 중요도 결정, 선거 문제에서 투표 우열 계산, 스트리밍 데이터 검색 등 현실 세계에서 일어나는 일들을 예로 들어 알고리즘이 작동하는 방식과 그것을 활용하는 방식을 알려준다. 이 책을 통해 경제와 경영, 생활과 사회학, 수학과 통계 등 다양한 분야에서 활용할 수 있는 알고리즘의 구현 방법을 살펴볼 수 있다.

직관적이고 이해하기 쉽게 의사 코드로 설명한다.

의사 코드는 프로그래밍 언어가 가진 약점을 살짝 피해 갈 수 있어서 실제 프로그래밍 코드보다 더 쉽게 이해할 수 있고 추론하기도 때로는 더 쉽다. 또한, 개발할 때 구문에 주의를 기울여야 하는 부분에서 실제 코드보다 의사 코드로 기술하는 것이 알고리즘을 구현하기가 더 쉽다. 그래서 이 책에서는 특정 프로그래밍 언어가 아닌 의사 코드로 알고리즘을 설명한다.

«리얼월드 알고리즘»은 1~3장까지 공개합니다.

목차

  • 1장 주가 스팬
  • 1.1 알고리즘
  • 1.2 실행 시간과 복잡도
  • 1.3 스택을 사용하는 주가 스팬
  • 2장 미로 탐색
  • 2.1 그래프
  • 2.2 그래프 표현
  • 2.3 깊이 우선 탐색
  • 2.4 너비 우선 탐색
  • 3장 압축
  • 3.1 압축
  • 3.2 트리와 우선순위 큐
  • 3.3 허프만 코딩
  • 3.4 LZW 압축
  • 4장 암호
  • 4.1 복호화 문제
  • 4.2 일회성 패드
  • 4.3 AES 암호
  • 4.4 디피-헬먼 키 교환
  • 4.5 빠른 모듈러 거듭제곱
  • 5장 암호 분리
  • 5.1 공개키 암호화
  • 5.2 RSA 암호 체계
  • 5.3 메시지 해싱
  • 5.4 인터넷 트래픽 익명화
  • 6장 작업 순서
  • 6.1 위상 정렬
  • 6.2 가중치 그래프
  • 6.3 임계 경로
  • 7장 행, 문단, 경로
  • 7.1 최단 경로
  • 7.2 데이크스트라 알고리즘
  • 8장 라우팅과 중개
  • 8.1 인터넷 라우팅
  • 8.2 벨만-포드(-무어) 알고리즘
  • 8.3 음의 가중치와 순환
  • 8.4 차익 거래
  • 9장 무엇이 가장 중요한가
  • 9.1 페이지랭크
  • 9.2 하이퍼링크 행렬
  • 9.3 누승법
  • 9.4 구글 행렬
  • 10장 투표 우열 측정
  • 10.1 선거 제도
  • 10.2 슐츠 방법
  • 10.3 플로이드-워셜 알고리즘
  • 11장 무차별 대입 검색과 비서 문제 그리고 양분
  • 11.1 순차 검색
  • 11.2 매칭, 비교, 레코드, 키
  • 11.3 마태 효과와 멱 법칙
  • 11.4 자기 조직화 검색
  • 11.5 비서 문제
  • 11.6 이진 검색
  • 11.7 컴퓨터에서의 정수 표현
  • 11.8 이진 검색으로 되돌아가서
  • 11.9 비교 트리
  • 12장 다양한 정렬 알고리즘
  • 12.1 선택 정렬
  • 12.2 삽입 정렬
  • 12.3 힙 정렬
  • 12.4 병합 정렬
  • 12.5 퀵 정렬
  • 12.6 무엇을 선택할까
  • 13장 검색: 휴대품 보관소, 비둘기, 버킷
  • 13.1 키 값 매핑
  • 13.2 해싱
  • 13.3 해시 함수
  • 13.4 부동 소수점과 해싱
  • 13.5 충돌
  • 13.6 디지털 지문
  • 13.7 블룸 필터
  • 14장 비트와 트리
  • 14.1 통신 문제로서의 점(占)
  • 14.2 정보와 엔트로피
  • 14.3 분류
  • 14.4 결정 트리
  • 14.5 속성 선택
  • 14.6 ID3 알고리즘
  • 14.7 기초 장치
  • 14.8 오컴의 면도날
  • 14.9 비용, 문제, 개선
  • 15장 문자열 처리
  • 15.1 무차별 대입 문자열 매칭
  • 15.2 크누스-모리스-프랫 알고리즘
  • 15.3 보이어-무어-호스풀 알고리즘
  • 16장 운에 맡기기
  • 16.1 난수
  • 16.2 무작위 표본 추출
  • 16.3 파워 게임
  • 16.4 소수 찾기
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.