저 자 : 문병로 / 쪽 수 : 500쪽 / 크 기 : 189 * 236 * 22 mm /913g / ISBN : 9791156645764 / 출간일 : 2022년 01월 16일 출간








목 차


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 벨만-포드 알고리즘(음의 가중치를 허용하는 경우)


연습문제



찾아보기