HOME > Detail View

Detail View

알고리즘으로 생각하기

알고리즘으로 생각하기 (Loan 1 times)

Material type
단행본
Personal Author
양성봉, 梁聖奉, 1956-
Title Statement
알고리즘으로 생각하기 = Algorithmic thinking / 양성봉 지음
Publication, Distribution, etc
파주 :   생능출판,   2022  
Physical Medium
327 p. : 삽화 ; 26 cm
ISBN
9788970505299
General Note
부록: 1. 파이썬 메모리, 2. 단순 연결 리스트 파이썬 프로그램, 3. 마스터 정리 외  
000 00000nam c2200205 c 4500
001 000046107917
005 20220208162045
007 ta
008 220208s2022 ggka 000c kor
020 ▼a 9788970505299 ▼g 93560
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 005.1 ▼2 23
085 ▼a 005.1 ▼2 DDCK
090 ▼a 005.1 ▼b 2022
100 1 ▼a 양성봉, ▼g 梁聖奉, ▼d 1956- ▼0 AUTH(211009)118520
245 1 0 ▼a 알고리즘으로 생각하기 = ▼x Algorithmic thinking / ▼d 양성봉 지음
260 ▼a 파주 : ▼b 생능출판, ▼c 2022
300 ▼a 327 p. : ▼b 삽화 ; ▼c 26 cm
500 ▼a 부록: 1. 파이썬 메모리, 2. 단순 연결 리스트 파이썬 프로그램, 3. 마스터 정리 외
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.1 2022 Accession No. 121259001 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

효율적인 알고리즘을 소개하기 전에 먼저 문제 해결을 위한 다양한 생각을 해보고 문제점을 짚어보면서 효율적인 알고리즘에 접근하는 단계를 두었다. 문제 해결을 위해 이렇게 다양한 방법을 생각해보는 시도는 새로운 문제를 해결할 때 많은 도움을 줄 것이다.

소개된 알고리즘들보다 효율적인 알고리즘이 있는 경우, 이에 대한 설명을 생략하였다. 이들을 언급하지 않은 이유는 이에 관한 설명 자체가 독자들이 알고리즘의 핵심 아이디어를 파악하는 것을 방해하고 대다수의 경우 컴퓨터 전공 지식이 필요하므로 독자들에게 적지 않은 부담감을 주기 때문이다.

대부분 알고리즘의 경우 파이썬 프로그램을 제공하였고, 프로그램에 대한 간략한 설명도 추가하였다. 프로그램은 알고리즘의 각 단계가 어떻게 파이썬 언어로 구현되는지를 확인하고, 사용된 자료구조도 프로그램 내에서 어떤 역할을 하는지 이해하는 데 도움을 줄 것이다. 또한 주어진 문제들에 대해 자료구조 연산이나 알고리즘의 효율성을 나타내는 수행 시간 분석을 간소화하였다.

이 책의 내용

Part 1 알고리즘으로 생각하기에 앞서
알고리즘이 무엇인가를 알아보고, 알고리즘의 수행 시간의 분석 및 점근 표기법을 소개하며, 이 책에 수록된 파이썬 프로그램을 이해하는 데 필요한 파이썬 언어의 기본 지식에 대해 살펴본다.

Part 2 순환과 기본적인 자료구조
알고리즘과 자료구조의 관계와 자료구조의 필요성을 알아보고, 알고리즘 또는 프로그램에서 사용되는 함수가 함수 자신을 호출하는 순환(recursion)을 설명하고, 단순 연결 리스트, 스택, 큐, 이진 트리, 이진 힙, 그래프 등의 기본 자료구조를 소개한다.

Part 3 나누어 풀어보기
분할 정복(Divide-and-Conquer) 알고리즘으로 해결되는 n-비트 이진수 곱하기, 퀵 정렬, 합병 정렬, K번째 작은 수, 가장 가까운 두 점 찾기에 대한 알고리즘들을 설명한다.

Part 4 욕심내어 풀어보기
그리디(Greedy) 알고리즘은 하향식(top-down) 방식으로 최적화(최댓값 또는 최솟값을 찾는) 문제를 해결하는 알고리즘이다. 구간 스케줄링(Interval Scheduling), 구간 분할(Interval Partitioning) 문제, 초 증가 순서(Super Increasing Sequence), 최소 신장 트리, 최단 경로, 허프만 코딩을 해결하기 위한 그리디 알고리즘을 각각 소개한다.

Part 5 작은 것들부터 풀어보기
가장 긴 증가 순서, 벨만-포드(Bellman-Ford) 최단 경로 알고리즘, 서열 정렬(Sequence Alignment), 합이 최대 K 되는 숫자, 배낭 문제를 해결하기 위한 동적 계획(Dynamic Programming) 알고리즘을 소개한다.

Part 6 되돌아가며 풀어보기
해를 찾는데 지수 시간이 소요되는 N P-완전 문제들 을 해결하는 백트래킹(B ack tracking)과 분기 한정(Branch-and-Bound) 알고리즘을 소개한다. 이 Part에서는 그래프 색칠하기, 여왕 말 문제, 합이 K 되는 숫자, 배낭 문제를 차례로 다룬다.

Part 7 근사하게 풀어보기
대표적인 NP-완전 문제들에 대한 근사해를 찾는 근사 알고리즘(Approx imation Algorithms)들을 소개한다. 이 Part에서는 외판원 문제, 집합 커버, 통 채우기, 합이 최대 K 되는 숫자 문제를 다룬다.

부록
파이썬 메모리, 단순 연결 리스트를 위한 파이썬 프로그램, 마스터 정리, NP-완전 문제들이 설명된다.


Information Provided By: : Aladin

Author Introduction

양성봉(지은이)

연세대학교 공과대학, 학사 University of Oklahoma, 컴퓨터과학, 석사 University of Oklahoma, 컴퓨터과학, 박사 연세대학교 컴퓨터과학과 교수 현재 연세대학교 컴퓨터과학과 명예교수 저서 알기 쉬운 알고리즘(생능출판) 파이썬과 함께하는 자료구조의 이해 파이썬과 함께하는 자료구조의 이해(생능출판) 알고리즘 첫걸음(생능출판) 자바와 함께하는 자료구조의 이해(생능출판)

Information Provided By: : Aladin

Table of Contents

PART 01 알고리즘으로 생각하기에 앞서
1.1 알고리즘이란?
1.2 수행 시간의 점근적 표현
1.3 파이썬의 기본 지식
■ 요약
■ 연습문제

PART 02 순환과 기본적인 자료구조
2.1 순환
2.2 단순 연결 리스트
2.3 스택과 큐
2.4 이진 트리와 이진 힙
2.5 그래프
■ 요약
■ 연습문제

PART 03 나누어 풀어보기
3.1 n-비트 이진수 곱하기
3.2 퀵 정렬
3.3 합병 정렬
3.4 K번째 작은 수
3.5 가장 가까운 두 점
■ 요약
■ 연습문제

PART 04 욕심내어 풀어보기
4.1 태스크 스케줄링
4.2 초 증가 순서
4.3 최소 신장 트리
4.4 최단 경로
4.5 허프만 코딩
■ 요약
■ 연습문제

PART 05 작은 것들부터 풀어보기
5.1 가장 긴 증가 순서
5.2 벨만-포드(Bellman-Ford) 최단 경로 알고리즘
5.3 서열 정렬
5.4 합이 최대 K 되는 숫자
5.5 배낭 문제
■ 요약
■ 연습문제

PART 06 되돌아가며 풀어보기
6.1 그래프 색칠하기
6.2 여왕 말 문제
6.3 합이 K 되는 숫자
6.4 배낭 문제
■ 요약
■ 연습문제

PART 07 근사하게 해결하기
7.1 외판원 문제
7.2 집합 커버
7.3 통 채우기
7.4 합이 최대 K 되는 숫자 문제
■ 요약
■ 연습문제

부록
I. 파이썬 메모리
II. 단순 연결 리스트 파이썬 프로그램
III. 마스터 정리(Master Theorem)
IV. NP-완전 문제

New Arrivals Books in Related Fields