급한데...가능하면 빨리 주시면 감사하겠씀다 scriabinian@naver.com입니다!~
단계별 그림과 삽화로 이론을 다지고
C 언어로 구현해 보는 자료구조 입문서
자료를 구조화하는 다양한 방법을 단계별 그림과 삽화를 곁들여 쉽게 설명하고, 자료구조의 핵심 알고리즘을 C 프로그램으로 차근차근 구현해 보도록 구성하였다. 이론과 실습을 병행할 수 있어 학습 효과를 극대화할 수 있고, 주어진 문제에 대한 최적의 해결 방법을 선택하고 활용할 수 있도록 도와주어 자료구조를 처음 배우는 학생들에게 안성맞춤이다. 또한 정보처리기사, 정보관리기술사, 공무원 시험 기출 문제를 활용한 연습문제를 실어 각종 자격증 취득과 취업 준비에도 도움이 되도록 하였다.
주요내용
Chapter 01. 자료구조 소개
01. 자료구조의 이해
1. 자료구조의 개념
2. 자료구조의 분류
02. 자료의 표현
1. 컴퓨터에서의 자료 표현
2. 수치 자료의 표현
3. 문자 자료의 표현
4. 논리 자료의 표현
5. 포인터 자료의 표현
6. 문자열 자료의 표현
03. 자료의 추상화
04. 알고리즘의 이해
05. 알고리즘의 표현 방법
06. 알고리즘의 성능 분석
요약 / 연습문제
Chapter 02. 자료구조 구현을 위한 C 프로그래밍 기법
01. 배열
1. 배열의 개념
2. 1차원 배열
3. 다차원 배열
02. 포인터
1. 포인터 개념
2. 포인터 선언
3. 포인터 연산
4. 포인터 초기화
5. 포인터와 문자열
6. 포인터 배열
7. 포인터의 포인터(이중 포인터)
03. 구조체
1. 구조체 개념
2. 구조체 선언
3. 구조체 변수의 초기화
4. 데이터 항목의 참조
5. 구조체 연산
04. 재귀호출
1. 재귀호출의 개념
2. 재귀호출의 예 1 : 팩토리얼 함수
3. 재귀호출의 예 2 : 하노이 탑
요약 / 연습문제
Chapter 03. 순차 자료구조와 선형 리스트
01. 순차 자료구조와 선형 리스트의 이해
1. 순차 자료구조의 개념
2. 선형 리스트의 표현과 연산
02. 선형 리스트의 구현
1. 1차원 배열을 이용한 선형 리스트 구현
2. 2차원 배열을 이용한 선형 리스트의 구현
3. 3차원 배열의 순차 표현
03. 선형 리스트의 응용 및 구현
1. 다항식의 선형 리스트 표현
2. 행렬의 선형 리스트 표현
요약 / 연습문제
Chapter 04. 연결 자료구조와 연결 리스트
01. 연결 자료구조와 연결 리스트의 이해
1. 연결 자료구조의 개념
2. 연결 리스트의 이해
02. 단순 연결 리스트
1. 단순 연결 리스트의 개념
2. 단순 연결 리스트에서의 삽입 연산
3. 단순 연결 리스트에서의 삭제 연산
4. 단순 연결 리스트의 알고리즘과 프로그램
03. 원형 연결 리스트
1. 원형 연결 리스트의 개념
2. 원형 연결 리스트의 알고리즘
3. 원형 연결 리스트의 프로그램
04. 이중 연결 리스트
1. 이중 연결 리스트의 개념
2. 이중 연결 리스트의 알고리즘
3. 이중 연결 리스트의 프로그램
05. 연결 리스트의 응용 및 구현
1. 단순 연결 리스트를 이용한 다항식 표현
2. 다항식 연결 자료구조의 항 삽입 알고리즘
3. 다항식끼리의 덧셈 연산과 알고리즘
4. 연결 리스트를 이용한 다항식 프로그램
요약 / 연습문제
Chapter 05. 스택
01. 스택의 이해
1. 스택의 개념과 구조
2. 스택의 추상 자료형
02. 스택의 구현
1. 순차 자료구조를 이용한 스택의 구현
2. 연결 자료구조를 이용한 스택의 구현
03. 스택의 응용
1. 스택을 이용한 역순 문자열
2. 시스템 스택
3. 스택을 이용한 수식의 괄호 검사
4. 스택을 이용한 수식의 후위 표기법 변환
5. 스택을 이용한 후위 표기법 수식의 연산
요약 / 연습문제
Chapter 06. 큐
01. 큐의 이해
1. 큐의 개념과 구조
2. 큐의 추상 자료형
02. 큐의 구현
1. 순차 자료구조를 이용한 큐의 구현
2. 원형 큐의 구현
3. 연결 자료구조를 이용한 큐의 구현
03. 데크
04. 큐의 응용
1. 운영체제의 작업 큐
2. 시뮬레이션에서의 큐잉 시스템
요약 / 연습문제
Chapter 07. 트리
01. 트리의 이해
02. 이진 트리
1. 이진 트리의 개념과 구조
2. 이진 트리의 추상 자료형
3. 이진 트리의 종류
03. 이진 트리의 구현
1. 순차 자료구조를 이용한 이진 트리의 구현
2. 연결 자료구조를 이용한 이진 트리의 구현
04. 이진 트리의 순회
1. 이진 트리 순회의 개념
2. 전위 순회
3. 중위 순회
4. 후위 순회
5. 이진 트리 순회의 구현
6. 스레드 이진 트리
05. 이진 탐색 트리
1. 이진 탐색 트리의 개념
2. 이진 탐색 트리의 탐색 연산
3. 이진 탐색 트리의 삽입 연산
4. 이진 탐색 트리의 삭제 연산
5. 이진 탐색 트리의 구현
06. 균형 이진 탐색 트리
1. 균형 이진 탐색 트리의 개념
2. AVL 트리의 개념과 유형
3. AVL 트리의 회전 연산
4. AVL 트리의 구현
07. 히프의 개념과 연산 및 구현
1. 히프의 개념
2. 히프의 추상 자료형
3. 히프의 삽입 연산
4. 히프의 삭제 연산
5. 히프의 구현
요약 / 연습문제
Chapter 08 그래프
01. 그래프의 구조
1. 그래프의 개념
2. 그래프의 종류
3. 그래프 관련 용어
4. 그래프의 추상 자료형
02. 그래프의 구현
1. 순차 자료구조를 이용한 그래프의 구현 : 인접 행렬
2. 연결 자료구조를 이용한 그래프의 구현 : 인접 리스트
03. 그래프의 순회
1. 그래프 순회의 개념과 종류
2. 깊이 우선 탐색
3. 너비 우선 탐색
04. 신장 트리와 최소 비용 신장 트리
1. 신장 트리
2. 최소 비용 신장 트리
3. 최단 경로
요약 / 연습문제
Chapter 09 정렬
01. 정렬의 이해
1. 정렬의 개념
2. 정렬 방식의 분류
02. 선택 정렬
1. 선택 정렬의 이해
2. 선택 정렬 알고리즘
3. 선택 정렬 프로그램
03. 버블 정렬
1. 버블 정렬의 이해
2. 버블 정렬 알고리즘
3. 버블 정렬 프로그램
04. 퀵 정렬
1. 퀵 정렬의 이해
2. 퀵 정렬 알고리즘
3 퀵 정렬 프로그램
05. 삽입 정렬
1. 삽입 정렬의 이해
2. 삽입 정렬 알고리즘
3. 삽입 정렬 프로그램
06. 셸 정렬
1. 셸 정렬의 이해
2. 셸 정렬 알고리즘
3. 셸 정렬 프로그램
07. 병합 정렬
1. 병합 정렬의 이해
2. 병합 정렬 알고리즘
3. 병합 정렬 프로그램
08 기수 정렬
1. 기수 정렬의 이해
2. 기수 정렬 알고리즘
3. 기수 정렬 프로그램
09 히프 정렬
1. 히프 정렬의 이해
2. 히프 정렬 알고리즘
10 트리 정렬
1. 트리 정렬의 이해
2. 트리 정렬 알고리즘
3. 트리 정렬 프로그램
요약 / 연습문제
Chapter 10 검색
01. 검색의 이해
02. 순차 검색
1. 순차 검색
2. 색인 순차 검색
03. 이진 검색
04. 이진 트리 검색
05. 해싱
1. 해싱의 개념
2. 해싱 관련 용어
3. 해시 함수
4. 해싱에서 오버플로를 처리하는 방법
요약 / 연습문제
ADT·알고리즘·예제 목차
ADT 3-1 다항식의 추상 자료형
ADT 3-2 희소행렬의 추상 자료형
ADT 5-1 스택의 추상 자료형
ADT 6-1 큐의 추상 자료형
ADT 6-2 데크의 추상 자료형
ADT 7-1 이진 트리의 추상 자료형
ADT 7-2 히프의 추상 자료형
ADT 8-1 그래프의 추상 자료형
알고리즘 1-1 피보나치 수열
알고리즘 3-1 순차 리스트를 이용한 다항식의 덧셈 연산
알고리즘 3-2 희소행렬의 전치 연산
알고리즘 4-1 단순 연결 리스트의 첫 번째 노드 삽입
알고리즘 4-2 단순 연결 리스트의 중간 노드 삽입
알고리즘 4-3 단순 연결 리스트의 마지막 노드 삽입
알고리즘 4-4 단순 연결 리스트의 노드 삭제
알고리즘 4-5 단순 연결 리스트의 노드 탐색
알고리즘 4-6 원형 연결 리스트의 첫 번째 노드 삽입
알고리즘 4-7 원형 연결 리스트의 중간 노드 삽입
알고리즘 4-8 원형 연결 리스트의 노드 삭제
알고리즘 4-9 이중 연결 리스트의 노드 삽입
알고리즘 4-10 이중 연결 리스트의 노드 삭제
알고리즘 4-11 다항식 끝에 항 추가
알고리즘 4-12 단순 연결 리스트를 이용한 다항식 덧셈 연산
알고리즘 5-1 스택의 원소 삽입
알고리즘 5-2 스택의 원소 삭제
알고리즘 5-3 수식의 괄호 쌍 검사
알고리즘 5-4 후위 표기법으로 변환
알고리즘 5-5 후위 표기법으로 수식 연산
알고리즘 6-1 공백 순차 큐 생성
알고리즘 6-2 순차 큐 공백 상태 검사
알고리즘 6-3 순차 큐의 포화 상태 검사
알고리즘 6-4 순차 큐의 원소 삽입
알고리즘 6-5 순차 큐의 원소 삭제
알고리즘 6-6 순차 큐의 원소 검색
알고리즘 6-7 공백 원형 큐 생성
알고리즘 6-8 원형 큐의 공백 상태 검사
알고리즘 6-9 원형 큐의 포화 상태 검사
알고리즘 6-10 원형 큐의 원소 삽입
알고리즘 6-11 원형 큐의 원소 삭제
알고리즘 6-12 공백 연결 큐 생성
알고리즘 6-13 연결 큐의 공백 상태 검사
알고리즘 6-14 연결 큐의 원소 삽입
알고리즘 6-15 연결 큐의 원소 삭제
알고리즘 6-16 연결 큐의 원소 검색
알고리즘 7-1 이진 트리의 전위 순회
알고리즘 7-2 이진 트리의 중위 순회
알고리즘 7-3 이진 트리의 후위 순회
알고리즘 7-4 이진 탐색 트리의 노드 탐색
알고리즘 7-5 이진 탐색 트리의 노드 삽입
알고리즘 7-6 이진 탐색 트리의 노드 삭제
알고리즘 7-7 AVL 트리의 LL 회전
알고리즘 7-8 AVL 트리의 RR 회전
알고리즘 7-9 AVL 트리의 LR 회전
알고리즘 7-10 AVL 트리의 RL 회전
알고리즘 7-11 최대 히프의 노드 삽입
알고리즘 7-12 최대 히프의 노드 삭제
알고리즘 8-1 그래프의 깊이 우선 탐색
알고리즘 8-2 그래프의 너비 우선 탐색
알고리즘 8-3 다익스트라 최단 경로
알고리즘 8-4 플로이드 최단 경로
알고리즘 9-1 선택 정렬
알고리즘 9-2 버블 정렬
알고리즘 9-3 퀵 정렬
알고리즘 9-4 파티션 분할
알고리즘 9-5 삽입 정렬
알고리즘 9-6 셸 정렬
알고리즘 9-7 셸 부분집합에서의 삽입 정렬
알고리즘 9-8 병합 정렬
알고리즘 9-9 부분집합의 병합
알고리즘 9-10 기수 정렬
알고리즘 9-11 히프 정렬
알고리즘 9-12 히프 재구성
알고리즘 9-13 트리 정렬
알고리즘 10-1 정렬되지 않은 자료의 순차 검색
알고리즘 10-2 정렬된 자료의 순차 검색
알고리즘 10-3 정렬된 자료의 색인 순차 검색
알고리즘 10-4 인덱스 테이블
알고리즘 10-5 이진 검색
예제 2-1 자료형에 대한 메모리 할당 크기 확인하기
예제 2-2 학년별 취득 학점 입출력하기
예제 2-3 입력한 숫자를 구구단으로 출력하기
예제 2-4 문자 배열에 문자열을 저장하고 출력하기
예제 2-5 입력한 문자열의 길이 계산하기
예제 2-6 3차원 배열 입출력하기
예제 2-7 3차원 배열을 이용해 문자 배열 입출력하기
예제 2-8 포인터 연산자를 이용해 변수 액세스하기
예제 2-9 포인터를 이용해 문자열 처리하기
예제 2-10 포인터 배열을 이용해 문자열 저장하기
예제 2-11 포인터 배열과 포인터의 포인터 사용하기
예제 2-12 점 연산자를 이용해 데이터 항목 참조하기
예제 2-13 화살표 연산자를 이용해 데이터 항목 참조하기
예제 2-14 재귀호출을 이용해 팩토리얼 값 구하기
예제 2-15 재귀호출을 이용해 하노이 탑 퍼즐 풀기
예제 3-1 원소의 논리적•물리적 순서 확인하기
예제 3-2 2차원 배열의 논리적•물리적 순서 확인하기
예제 3-3 3차원 배열의 논리적•물리적 순서 확인하기
예제 3-4 순차 리스트를 이용해 다항식 덧셈하기
예제 3-5 희소행렬의 전치 연산하기
예제 4-1 단순 연결 리스트에 노드 삽입하기
예제 4-2 단순 연결 리스트에서 노드 삭제•탐색하기
예제 4-3 원형 연결 리스트에서 노드 삽입•삭제•탐색하기
예제 4-4 이중 연결 리스트에서 노드 삽입•삭제•탐색하기
예제 4-5 연결 리스트를 이용해 다항식 덧셈하기
예제 5-1 순차 자료구조를 이용해 순차 스택 구현하기
예제 5-2 연결 자료구조를 이용해 연결 스택 구현하기
예제 5-3 스택을 이용해 수식의 괄호 쌍 검사하기
예제 5-4 수식을 후위 표기법으로 연산하기
예제 6-1 순차 자료구조를 이용해 순차 큐 구현하기
예제 6-2 순차 자료구조를 이용해 원형 큐 구현하기
예제 6-3 연결 자료구조를 이용해 연결 큐 구현하기
예제 6-4 이중 연결 리스트를 이용해 데크 구현하기
예제 7-1 이진 트리 순회하기
예제 7-2 이진 트리의 후위 순회를 이용해 폴더 용량 계산하기
예제 7-3 스레드 이진 트리 구현하기
예제 7-4 이진 탐색 트리 연산하기
예제 7-5 AVL 트리 구현하기
예제 7-6 순차 자료구조를 이용해 최대 히프 구현하기
예제 8-1 그래프를 인접 행렬로 표현하기
예제 8-2 그래프를 인접 리스트로 표현하기
예제 8-3 그래프를 깊이 우선 탐색하기
예제 8-4 그래프를 너비 우선 탐색하기
예제 8-5 다익스트라 최단 경로 구하기
예제 8-6 플로이드 최단 경로 구하기
예제 9-1 선택 정렬하기
예제 9-2 버블 정렬하기
예제 9-3 퀵 정렬하기
예제 9-4 퀵 정렬하기
예제 9-5 삽입 정렬하기
예제 9-6 셸 정렬하기
예제 9-7 병합 정렬하기
예제 9-8 기수 정렬하기
예제 9-9 트리 정렬하기
예제 10-1 정렬되지 않은 자료를 순차 검색하기
예제 10-2 정렬된 자료를 순차 검색하기
예제 10-3 자료 색인 순차 검색하기
예제 10-4 정렬된 자료를 이진 검색하기
예제 10-5 이진 검색을 이용해 영어 사전 구현하기
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2022-06-23 | 다운로드 |
조중필 , 한현상 , 이주호
존 몽건 , 에릭 기게리 , 노아 수요야넨 킨들러
Introduction To Algorithms, Third Edition
토머스 코멘 , 찰스 레이서손 , 로날드 리베스트 , 클리포드 스타인