Do it 자료구조와 함께 배우는 알고리즘 입문 : 자바편
보요 시바타 지음 | 강민 역 | 이지스퍼블리싱
2018년 05월 15일 | 432p | 원서 : 新.明解JAVAで學ぶアルゴリズムとデ-タ構造
완독일 : 2020.11.10
목차
01 기본 알고리즘
01-1 알고리즘이란?
세 값의 최댓값
조건 판단과 분기
순서도의 기호
01-2 반복
1부터 n까지의 정수 합 구하기
양수만 입력하기
구조적 프로그래밍
다중 루프
직각 이등변 삼각형 출력
02 기본 자료구조
02-1 배열
자료구조
배열
배열 요소의 최댓값 구하기
배열 요소를 역순으로 정렬하기
두 배열의 비교
기수 변환
소수의 나열
다차원 배열
한 해의 경과 일 수를 계산하는 프로그램
다차원 배열의 내부
02-2 클래스
클래스란?
클래스의 배열
03 검색
03-1 검색 알고리즘
검색과 키
배열에서 검색하기
03-2 선형 검색
선형 검색
보초법
03-3 이진 검색
이진 검색
복잡도
Arrays.binarySearch에 의한 이진 검색
04 스택과 큐
04-1 스택
스택이란?
스택 만들기
04-2 큐
큐란?
배열로 큐 만들기
링 버퍼로 큐 만들기
05 재귀 알고리즘
05-1 재귀의 기본
재귀란?
팩토리얼 구하기
유클리드 호제법
05-2 재귀 알고리즘 분석
재귀 알고리즘의 분석
재귀 알고리즘의 비재귀적 표현
05-3 하노이의 탑
하노이의 탑
05-4 8퀸 문제
8퀸 문제란?
퀸 배치하기
가지 뻗기
분기 한정법
8퀸 문제를 푸는 프로그램
06 정렬
06-1 정렬
정렬이란?
06-2 버블 정렬
버블 정렬
06-3 단순 선택 정렬
단순 선택 정렬
06-4 단순 삽입 정렬
단순 삽입 정렬
06-5 셸 정렬
단순 삽입 정렬의 특징
셸 정렬
06-6 퀵 정렬
퀵 정렬 살펴보기
배열을 두 그룹으로 나누기
퀵 정렬
비재귀적인 퀵 정렬
06-7 병합 정렬
정렬을 마친 배열의 병합
병합 정렬
Arrays.sort로 퀵 정렬과 병합 정렬하기
06-8 힙 정렬
힙이란?
힙 정렬
배열을 힙으로 만들기
06-9 도수 정렬
도수 정렬
07 집합
07-1 집합
집합과 요소
부분집합과 진부분집합
집합의 연산
07-2 배열로 집합 만들기
배열로 집합 만들기
08 문자열 검색
08-1 브루트-포스법
문자열 검색이란?
브루트-포스법
String.IndexOf 메서드로 문자열 검색하기
08-2 KMP법
KMP법
08-3 Boyer-Moore법
Boyer-Moore법
09 리스트
09-1 선형 리스트
선형 리스트란?
배열로 선형 리스트 만들기
09-2 포인터로 연결 리스트 만들기
포인터로 연결 리스트 만들기
연결 리스트를 사용한 프로그램
09-3 커서로 연결 리스트 만들기
커서로 연결 리스트 만들기
배열의 비어 있는 요소 처리하기
프리 리스트
09-4 원형 이중 연결 리스트
원형 리스트
이중 연결 리스트
원형 이중 연결 리스트
10 트리
10-1 트리
트리란?
순서 트리 탐색
10-2 이진트리와 이진검색트리
이진트리
완전이진트리
이진검색트리
이진검색트리 만들기
이진검색트리를 이용하는 프로그램
11 해시
11-1 해시법
정렬된 배열에 새로운 값 추가하기
해시법
충돌
체인법
오픈 주소법
---------------------------------------------------------------------------------
익숙한 언어인 자바로 구현된 기초 알고리즘 책.
파이썬 알고리즘과 LeetCode로 본격적으로 준비해야겠다.
'[Book]' 카테고리의 다른 글
[독서: 프로그래밍] 성공과 실패를 결정하는 1%의 프로그래밍 원리 (0) | 2020.08.02 |
---|---|
[독서: 자료구조] 누구나 자료구조와 알고리즘 (0) | 2020.06.06 |
[독서:경영] 4차산업혁명 시대 투자의 미래 (0) | 2020.03.02 |
[독서:사회] 팩트풀니스(FACTFULNESS ) (0) | 2020.03.02 |
[독서: 경영] 언스크립티드 (0) | 2020.03.02 |