HOME > 도서안내 > 도서안내
 
도서명자바를 이용한 자료구조 설계와 문제해결 기법
저자임형석ㆍ손영숙ㆍ최문호
분류[사회]
발행일2024-01-22 판형4×6배판
ISBN979-11-93707-08-1 (93560)
페이지220 정가18,000원
네티즌평가 |
(총 0 명 참여)   도서정보 인쇄하기 70
  1장에서는 널리 사용되는 프로그래밍 언어 중 하나인 자바를 소개합니다. 데이터를 효율적으로 관리하기 위한 강력한 도구 세트인 자바의 컬렉션 프레임워크의 구조를 자세히 살펴보고 컬렉션을 효과적으로 활용하여 실제 문제를 해결하는 방법을 탐구합니다.
2장에서는 알고리즘의 기본 개념을 살펴봅니다. 우리는 알고리즘이 무엇인지 정의하고, 알고리즘의 효율성을 이해하는 데 필수적인 기술인 알고리즘 분석을 살펴봅니다. 그리고, 일련의 전형적인 문제해결을 통해 알고리즘 구현 및 분석을 연마합니다.
3장은 기본 데이터 구조인 스택과 큐에 대해 자세히 설명합니다. 스택과 큐를 이용한 다양한 문제해결 사례를 소개하고, 자바에서 제공하는 자료구조를 이용하여 이를 해결하는 방법을 알아봅니다.
4장은 가장 많이 사용되는 자료구조 중 하나인 리스트 살펴봅니다. 배열을 이용한 리스트 구현과 연결 기반 구현을 모두 알아보면서 자바에서 리스트의 구현을 이해하게 됩니다. 실제 시나리오에서 얻은 지식을 적용하여 다항식 표현, 문자열 일치, 행렬 연산과 같은 문제를 탐구합니다.
5장에서는 또 다른 매력적인 자료구조인 트리에 대해 설명합니다. 트리의 표현 및 순회 기술을 포함하여 이진 탐색 트리 영역을 살펴보게 됩니다. 그리고 AVL 트리를 포함한 균형 탐색 트리를 탐구하여 효율적인 데이터 관리 및 탐색 방법을 습득합니다.
6장에서는 현실 세계 모델링에 필요한 그래프를 살펴봅니다. 그래프의 기본 개념과 인접 행렬, 인접 리스트 등 그래프를 표현하는 방법을 학습하고, 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)을 포함한 그래프 탐색 기술을 탐구합니다. 또한 다양한 실제 시나리오에서 유용한 도구인 위상 정렬을 살펴봅니다.
7장에서는 정렬 알고리즘을 집중 조명합니다. 삽입 정렬, 선택 정렬, 버블 정렬, 병합 정렬, 빠른 정렬, 힙 정렬 등 다양한 정렬 기술을 살펴봅니다. 각각의 알고리즘 내부 작동 방식과 특징을 분석하여 이를 효과적으로 활용하는 방법을 이해하는 데 도움이 될 것입니다.
8장에서는 해싱 기술을 살펴봅니다. 해시테이블을 통해 사전적 개념과 그 구현을 탐구합니다. 효과적인 해시함수를 만드는 방법과 충돌을 해결하는 방법을 배우고, 텍스트 압축 및 문서 인덱싱과 같은 해싱의 실제 적용도 소개합니다.
도서소개 인쇄하기
제1장 자바와 컬렉션 프레임워크 / 9
1.1 자바 소개 / 9
1.2 자바의 컬렉션 프레임워크 / 14
1.2.1 컬렉션 프레임워크의 구조 / 14
1.2.2 컬렉션 프레임워크의 구현 방법 / 16
1.2.3 컬렉션 프레임워크와 제네릭 프로그래밍 / 20
1.2.4 컬렉션 프레임워크의 활용 / 22
1.3 컬렉션 프레임워크를 활용한 문제해결 / 27

제2장 알고리즘 / 36
2.1 알고리즘의 정의 / 36
2.2 알고리즘의 분석 / 36
2.2.1 분석의 내용 / 36
2.2.2 공간 복잡도와 시간 복잡도 / 38
2.2.3 점근 표기법 / 41
[예제 2.3] 리스트 합산의 시간 복잡도 / 45
[예제 2.4] 행렬 덧셈의 시간 복잡도 / 45
[예제 2.5] 이진 탐색의 시간 복잡도 / 46
2.3 재귀(recursive) 알고리즘 / 47
연습문제 / 63

제3장 스택과 큐 / 66
3.1 스택의 개념 / 66
3.2 큐의 개념 / 70
3.3 스택의 응용 / 73
3.4 큐의 응용 / 85
3.5 덱 / 89
연습문제 / 91

제4장 리스트 / 92
4.1 리스트의 개념 / 92
4.2. 자바에서 리스트의 구현 / 93
4.3 배열 표현 / 96
4.4 연결 표현 / 111
4.5 행렬 / 119
연습문제 / 126

제5장 트리 / 128
5.1 트리의 개념 / 129
5.2 이진트리 / 130
5.2.1 이진트리의 개념 / 130
5.2.2 이진트리의 표현 / 132
5.2.3 이진트리의 응용 / 135
5.2.4 이진트리의 순회 / 138
5.3 이진 탐색 트리 / 142
5.3.1 이진 탐색 트리의 개념 / 142
5.3.2 이진 탐색 트리의 연산 / 144
5.4 균형 탐색 트리 / 149
5.4.1 AVL 트리 / 150
5.4.2 자바의 TreeSet / 158
연습문제 / 160

제6장 그래프 / 161
6.1 그래프의 기본 개념 / 162
6.1 그래프의 표현 방법 / 167
6.2.1 인접행렬 표현법 / 167
6.2.2 인접 리스트 표현법 / 167
6.2.3 자바에서 그래프 표현 방법 / 168
6.3 그래프의 탐색 방법 / 171
6.3.1 깊이 우선 탐색 / 172
6.3.2 너비 우선 탐색 / 173
6.4 그래프의 위상 정렬 / 176
연습문제 / 180

제7장 정렬 / 181
7.1 삽입 정렬 / 182
7.2 선택 정렬 / 184
7.3 버블 정렬 / 186
7.4 합병 정렬 / 188
7.5 퀵 정렬 / 191
7.6 히프 정렬 / 194
연습문제 / 199

제8장 해싱 / 203
8.1 사전 / 203
8.2 해시테이블 / 205
8.3 해시함수 / 207
8.4 충돌 처리 / 208
8.4.1 개방 주소법 / 208
8.4.2 체인법 / 209
8.5 해시테이블의 응용 / 210
연습문제 / 218