인공지능이 일자리를 대체하는 시대가 되면서, 코딩 교육과 컴퓨팅 사고의 중요성이 나날이 커지고 있다. 그리고 그 중심에는 ‘알고리즘’이 있다. 도대체 알고리즘이란 무엇이며 왜 배워야 할까?
『모두의 알고리즘 with 파이썬』은 중요하지만 어려운 주제인 알고리즘을 초보자와 비전공자가 배울 수 있게 최대한 전문 용어와 복잡한 수학을 사용하지 않고 설명한다. 또한, 간단한 문제를 풀면서 기초 알고리즘을 설명하기 때문에 쉽게 이해할 수 있다. 그동안 알고리즘을 배우고 싶었지만, 어려워서 주저했던 사람이라면 이 책을 통해 알고리즘이 무엇이며 어디에 어떻게 사용하는 것인지 감을 잡을 수 있을 것이다.
[첫째 마당] 알고리즘 기초 문제 01. 1부터 n까지의 합 구하기 1_알고리즘의 중요 포인트 2_구체적이고 명료한 계산 과정 3_1부터 n까지의 합을 구하는 알고리즘 4_알고리즘 분석 5_입력 크기와 계산 횟수 6_대문자 O 표기법: 계산 복잡도 표현
문제 02. 최댓값 찾기 1_리스트 2_최댓값을 찾는 알고리즘 3_알고리즘 분석 4_응용하기
문제 03. 동명이인 찾기 1 1_집합 2_동명이인을 찾는 알고리즘 3_알고리즘 분석
[둘째 마당] 재귀 호출 문제 04. 팩토리얼 구하기 1_팩토리얼 2_러시아 인형 3_재귀 호출: 다시 돌아가 부르기 4_재귀 호출 알고리즘 5_알고리즘 분석
문제 05. 최대공약수 구하기 1_최대공약수 알고리즘 2_유클리드 알고리즘
문제 06. 하노이의 탑 옮기기 1_하노이의 탑 2_하노이의 탑 풀이 3_하노이의 탑 알고리즘 4_알고리즘 분석
[셋째 마당] 탐색과 정렬 문제 07. 순차 탐색 1_순차 탐색으로 특정 값의 위치 찾기 2_알고리즘 분석
문제 08. 선택 정렬 1_선택 정렬로 줄 세우기 2_쉽게 설명한 선택 정렬 알고리즘 3_일반적인 선택 정렬 알고리즘 4_알고리즘 분석
문제 09. 삽입 정렬 1_삽입 정렬로 줄 세우기 2_쉽게 설명한 삽입 정렬 알고리즘 3_일반적인 삽입 정렬 알고리즘 4_알고리즘 분석
문제 10. 병합 정렬 1_병합 정렬로 줄 세우기 2_쉽게 설명한 병합 정렬 알고리즘 3_병합 정렬에서의 재귀 호출 4_일반적인 병합 정렬 알고리즘 5_알고리즘 분석
문제 11. 퀵 정렬 1_퀵 정렬로 줄 세우기 2_쉽게 설명한 퀵 정렬 알고리즘 3_일반적인 퀵 정렬 알고리즘 4_기준 값의 중요성 5_알고리즘 분석
문제 12. 이분 탐색 1_일상생활 속의 탐색 문제 2_이분 탐색 알고리즘 3_알고리즘 분석
[넷째 마당] 자료 구조 문제 13. 회문 찾기 (큐와 스택) 1_큐와 스택 2_회문 찾기 알고리즘
문제 14. 동명이인 찾기 2 (딕셔너리) 1_딕셔너리 2_딕셔너리를 이용한 동명이인 찾기 알고리즘 3_알고리즘 분석
문제 15. 친구의 친구 찾기 (그래프) 1_용어 정리 2_그래프 3_그래프로 친구 관계 표현하기 4_파이썬으로 그래프 표현하기 5_모든 친구 찾기 알고리즘 6_친밀도 계산 알고리즘
[다섯째 마당] 응용문제 문제 16. 미로 찾기 알고리즘 1_문제 분석과 모델링 2_미로 찾기 알고리즘 3_응용문제 풀이 과정
문제 17. 가짜 동전 찾기 알고리즘 1_문제 분석과 모델링 2_방법 1: 하나씩 비교하기 3_방법 2: 반씩 그룹으로 나누어 비교하기 4_알고리즘 분석
문제 18. 최대 수익 알고리즘 1_문제 분석과 모델링 2_방법 1: 가능한 모든 경우를 비교하기 3_방법 2:한 번 반복으로 최대 수익 찾기 4_알고리즘 분석
마치는 글
[부록] 부록 A. 연습 문제 풀이 부록 B. 파이썬 설치와 사용법 부록 C. 파이썬 기초 문법 부록 D. 재귀 호출을 이용한 그림 그리기
ㆍ지은이
이승찬
소개
서울대학교에서 컴퓨터공학을 전공하고 게임 개발자로 일하며 메이플스토리 등의 히트 게임을 만들었습니다. 15년간 일한 게임 업계를 떠나 University of Washington에서 경영학 석사 학위를 받았습니다. 현재 로봇 개발/생산 업체 메타로보틱스에서 최신 소프트웨어 기술을 농업 현장에 적용하기 위해 노력하고 있습니다.
저서: 모두의 파이썬(길벗, 2016)
독자의견 남기기