서브메뉴

본문

쉽게 배우는 자료구조 with 자바
쉽게 배우는 자료구조 with 자바
저자 : 문병로
출판사 : 한빛아카데미
출판년 : 2022
ISBN : 9791156645764

책소개


문제 해결 기법 훈련을 위한 가이드

이 책은 기본 자료구조와 알고리즘을 밀도 있게 풀어낸 기본서다. 기본 원리는 이해하기 쉽게 단계별로 차근차근 설명하면서도 구현을 위해 논리의 골격을 구성해가는 과정에서는 저자의 내공까지 충실하게 담았다. 자료구조라는 도구를 사용하는 방법에 대한 기본기를 탄탄히 다질 수 있을 뿐만 아니라 효율적이고 최적화된 코드를 통해 실력도 기를 수 있다.

※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.

목차


Chapter 01 자료구조 소개

01 자료구조란
02 자료구조와 알고리즘
03 자료구조의 추상 데이터 타입

Chapter 02 재귀(자기호출)와 귀납적 사고

01 자료구조와 재귀
02 재귀 구조 예
03 재귀와 수학적 귀납법
연습문제

Chapter 03 알고리즘의 성능

01 알고리즘 수행 시간이란
02 알고리즘 복잡도
1 O - 표기
2 Ω- 표기
3 Θ- 표기
4 점근적 표기법의 수학적 정의
5 집합 표기를 대신하는 ‘ =’
6 시각적 정리
연습문제

Chapter 04 자바 기초

01 클래스
02 자바 기초 문법
03 인터페이스
04 제네릭
05 패키지
06 프로그램 수행
07 자바 개발 환경과 디버거

Chapter 05 리스트

01 리스트란
1 생활 속의 리스트
2 리스트의 작업
3 리스트의 구현
02 배열 리스트
1 배열 리스트의 객체 구조
2 배열 리스트의 작업
3 배열 리스트의 구현(원소 타입을 확정한 버전)
4 배열 리스트의 구현(제네릭 버전)
03 연결 리스트
1 연결 리스트의 객체 구조
2 연결 리스트의 작업
3 연결 리스트의 구현
04 배열 리스트와 연결 리스트의 비교
05 연결 리스트의 확장
1 원형 연결 리스트
2 양방향 연결 리스트
연습문제

Chapter 06 스택

01 스택이란
1 생활 속의 스택
2 스택의 개념과 원리
3 추상 데이터 타입 스택
02 배열을 이용한 스택
1 배열 스택의 객체 구조
2 배열 스택의 작업
3 배열 스택의 구현
03 연결 리스트를 이용한 스택
1 연결 리스트 스택의 객체 구조
2 연결 리스트 스택의 작업
04 다른 클래스를 재사용한 스택
1 클래스 ‘연결 리스트’ 상속
2 ADT 리스트 사용
05 스택 응용
1 문자열 뒤집기
2 Postfix 계산
연습문제

Chapter 07 큐

01 큐란
1 생활 속의 큐
2 큐의 개념과 원리
3 추상 데이터 타입 큐
02 배열을 이용한 큐
1 배열 큐의 객체 구조
2 배열 큐의 작업
3 배열 큐의 구현
03 연결 리스트를 이용한 큐
1 연결 리스트 큐의 객체 구조
2 연결 리스트 큐의 작업
3 연결 리스트 큐의 구현
04 다른 클래스를 재사용한 큐
1 클래스 LinkedList 상속
2 ADT 리스트 사용
05 큐 응용: 좌우동형 문자열 체크
연습문제

Chapter 08 우선순위 큐: 힙

01 힙이란
1 우선순위 큐와 힙
2 힙과 완전 이진 트리
3 힙의 조건
4 힙 객체의 구조
02 힙 작업 알고리즘과 구현
1 원소 삽입
2 원소 삭제
3 힙 생성
4 기타 작업
5 힙 구현
03 힙 수행 시간
연습문제

Chapter 09 정렬

01 정렬이란
02 기본 정렬 알고리즘
1 선택 정렬
2 버블 정렬
3 삽입 정렬
03 고급 정렬 알고리즘
1 병합 정렬
2 퀵 정렬
3 힙 정렬
4 셸 정렬
04 데이터 특성을 잘 이용하는 정렬 알고리즘
1 계수 정렬
2 기수 정렬
3 버킷 정렬
4 정렬 알고리즘 간 성능 비교
05 정렬 구현
연습문제

Chapter 10 색인과 이진 검색 트리

01 색인
1 색인이란
2 레코드, 키와 색인의 관계
3 추상 데이터 타입 색인
02 이진 검색 트리
1 검색 트리
2 이진 검색 트리
3 노드 객체의 구조
03 이진 검색 트리 알고리즘과 구현
1 검색
2 삽입
3 삭제
4 이진 검색 트리의 성질
5 순회
6 이진 검색 트리의 구현
연습문제

Chapter 11 균형 검색 트리

01 균형 검색 트리란
02 AVL 트리
1 AVL 트리란
2 노드 객체의 구조
3 균형이 깨진 AVL 트리의 수선
4 AVL 트리의 구현
03 레드-블랙 트리
1 레드-블랙 트리란
2 레드- 블랙 트리의 수선
04 B-트리
1 B-트리란
2 B-트리 알고리즘
3 B-트리의 작업 성능
연습문제

Chapter 12 해시 테이블

01 해시 테이블
1 해시 테이블이란
2 해시 테이블의 객체 구조
02 해시 함수
1 나누기 방법
2 곱하기 방법
03 충돌 해결
1 체이닝
2 개방 주소 방법
3 검색 시간
연습문제

Chapter 13 그래프

01 그래프란
02 그래프의 표현
1 인접 행렬
2 인접 리스트
3 인접 배열
4 인접 해시 테이블
03 너비 우선 탐색과 깊이 우선 탐색
1 BFS
2 DFS
04 최소 신장 트리
1 프림 알고리즘
2 크루스칼 알고리즘
3 안전성 정리
05 위상 정렬
06 최단 경로
1 다익스트라 알고리즘(음의 가중치를 허용하지 않는 경우)
2 벨만-포드 알고리즘(음의 가중치를 허용하는 경우)
연습문제

찾아보기

QuickMenu