책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 자료구조/알고리즘
· ISBN : 9791185578743
· 쪽수 : 600쪽
책 소개
목차
Part 01 자료구조의 기본
Chapter 01 자료구조와 알고리즘, C 프로그래밍
00 개요
1. 컴퓨터의 정보처리와 문제 해결 과정
2. 컴퓨터에서의 문제 해결 과정과 알고리즘 설계, 컴퓨터 언어의 프로그래밍 과정
3. 자료구조/알고리즘/프로그램 코딩의 연관
01 자료구조
1. 자료구조의 개념
2. 자료구조의 영역
3. 자료구조의 형태 분류
4. 자료구조의 선택 기준
5. 자료구조의 단순 구조(simple structure)와 자료 표현
6. 추상 자료형(ADT, Abstract Data Type): 자료의 추상화
02 알고리즘
1. 알고리즘의 정의
2. 알고리즘의 예
3. 알고리즘의 요구 조건과 특성
4. 알고리즘의 종류
5. 알고리즘의 표현 방법의 종류
6. 알고리즘의 성능 분석
03 자료구조와 알고리즘 표현, C 프로그래밍 구현
1. 문제 분석과 알고리즘 설계, 프로그래밍 구현과의 연관
2. SPARKS 언어를 이용한 알고리즘 표현 방법
3. C 언어
4. 가상 코드(SPARKS 언어) 명령문 표현과 C 프로그래밍 구현
5. 자료구조/알고리즘/프로그램 코딩의 연관
요약, 연습문제
Chapter 02 자료구조 실습을 위한 C 프로그래밍 주요 기술
00 개요
1. C 프로그래밍의 개발 시 필요한 기능
2. C 프로그래밍의 기본 문법 개요
3. 배열
4. 포인터
5. 구조체
6. 함수와 재귀 호출
01 C 프로그래밍의 개발 환경과 프로그래밍 방법
1. C 프로그래밍의 개발 환경
2. C 프로그래밍의 순서와 비주얼 스튜디오 개발 환경
02 C 프로그래밍의 기본 문법 개요
1. 기본 입출력 함수
2. 변수와 데이터형
3. 연산자
4. 제어문
03 배열
1. 배열의 개념과 순차 리스트에서의 사용
2. 배열의 종류
3. 순차 자료구조와 순차 리스트 구현(1차원 배열 사용)
4. 순차 자료구조와 순차 리스트 구현(2차원 배열 사용)
5. 순차 자료구조와 순차 리스트 구현(3차원 배열 사용)
04 포인터
1. 포인터의 개념과 연결 리스트에서의 사용
2. 포인터 연산자와 포인터 변수의 선언
3. 포인터 변수의 초기화
4. 포인터 변수의 연산
5. 이중/삼중 포인터 변수
6. 포인터와 배열
05 구조체
1. 구조체의 개념
2. 구조체 형식 선언과 구조체 변수 선언
3. 구조체 배열
4. 구조체 포인터
5. 형 정의
06 함수와 재귀 호출
1. 사용자 정의 함수
2. 매개변수의 전달 방법
3. 함수의 순환(재귀 호출, recursion)
4. 함수 인수에서 배열 사용
5. 함수와 포인터
6. 함수와 구조체
요약, 연습문제
Chapter 03 순차 자료구조와 순차 리스트(배열 이용)
00 개요
1. 리스트의 개념
2. 리스트 연산의 개념과 종류
3. 선형 자료구조의 표현, 선형 리스트의 종류와 특징
4. 순차 자료구조와 순차 리스트 / 연결 자료구조와 연결 리스트의 교재 내용
5. 순차 자료구조와 순차 리스트의 활용
01 순차 자료구조와 순차 리스트의 개념과 특징
1. 순차 자료구조와 순차 리스트의 개념
2. 순차 자료구조와 순차 리스트의 실생활의 예
3. 순차 자료구조와 순차 리스트의 컴퓨터 저장 공간에서의 예
4. 순차 자료구조와 순차 리스트의 특징
02 순차 자료구조와 순차 리스트의 구현
1. 순차 자료구조와 순차 리스트 구현을 위하여 배열 사용
2. 순차 자료구조와 순차 리스트 구현을 위하여 1차원/2차원/3차원 배열 사용
03 순차 자료구조와 순차 리스트의 활용
1. 수치해석의 개략적인 분류 및 범위
2. 행렬과 배열
3. 다항식과 배열
요약, 연습문제
Chapter 04 연결 자료구조와 연결 리스트(구조체와 포인터를 이용)
00 개요
1. 연결 자료구조와 연결 리스트의 개념
2. 연결 자료구조와 연결 리스트의 실생활의 예
3. 연결 자료구조와 연결 리스트의 특징(삽입/삭제 연산의 편리성)
4. 순차 자료구조와 순차 리스트의 특징(삽입/삭제의 단점)
5. 연결 자료구조와 연결 리스트의 종류
6. 연결 자료구조와 연결 리스트의 활용
01 연결 자료구조와 연결 리스트의 개념과 연산
1. 연결 자료구조와 연결 리스트의 개념
2. 연결 자료구조와 연결 리스트의 특징
3. 연결 자료구조와 연결 리스트의 종류
4. 연결 자료구조와 연결 리스트의 구현을 위하여 구조체와 포인터를 이용한 C 프로그래밍 표현
02 단순 연결 자료구조와 단순 연결 리스트
1. 단순 연결 자료구조와 단순 연결 리스트의 개념
2. 단순 연결 자료구조와 단순 연결 리스트의 삽입 연산 알고리즘
3. 단순 연결 자료구조와 단순 연결 리스트의 삭제 연산 알고리즘
4. 단순 연결 자료구조와 단순 연결 리스트의 삽입/삭제 연산 C 프로그래밍
03 원형 연결 자료구조와 원형 연결 리스트
1. 원형 연결 자료구조와 원형 연결 리스트의 개념과 특징
2. 원형 연결 자료구조와 원형 연결 리스트의 삽입 연산 알고리즘
3. 원형 연결 자료구조와 원형 연결 리스트의 삭제 연산 알고리즘
4. 원형 연결 자료구조와 원형 연결 리스트의 삽입/삭제 연산 C 프로그래밍
04 이중 연결 자료구조와 이중 연결 리스트
1. 이중 연결 자료구조와 이중 연결 리스트의 개념
2. 이중 연결 자료구조와 이중 연결 리스트의 삽입 연산 알고리즘
3. 이중 연결 자료구조와 이중 연결 리스트의 삭제 연산 알고리즘
4. 이중 연결 자료구조와 이중 연결 리스트의 삽입/삭제 연산 C 프로그래밍
5. 이중 원형 연결 자료구조와 이중 원형 연결 리스트
05 연결 자료구조와 연결 리스트의 활용
1. 기억 장소 관리
2. 단순 연결 리스트를 활용한 다항식
요약, 연습문제
Part 02 제한된 선형 구조
Chapter 05 스택(STACK)
00 개요
1. 스택의 정의
2. 일상생활에서 스택의 예
3. 컴퓨터 기억 공간에서의 스택의 구현
4. 컴퓨터 기억 공간에서의 스택의 활용
01 배열(순차 자료구조와 순차 리스트)을 이용한 스택
1. 배열을 이용한 스택 알고리즘
2. 배열을 이용한 스택 알고리즘 예
3. 배열을 이용한 스택 알고리즘에서 삽입(입력)/삭제(출력)의 예
4. 배열을 이용한 스택 알고리즘(가상 코드)과 분석
5. 배열을 이용한 스택의 C 언어 프로그래밍 실습 예
02 구조체와 포인터(연결 자료구조와 연결 리스트)를 이용한 스택
1. 구조체와 포인터를 이용한 스택 알고리즘
2. 구조체와 포인터를 이용한 스택 알고리즘 예
3. 구조체와 포인터를 이용한 스택의 C 언어 프로그래밍 실습 예
03 스택의 넘침(overflow)과 다중스택
1. 다중 스택의 개념
2. 다중 스택의 종류
3. 다중 스택의 운영
04 스택의 활용
1. C언어에서의 함수 호출(function call)과 부프로그램 호출(subroutine call)
2. 순환 함수(recursive function)
3. 시스템에서의 인터럽트(interrupt)
4. C언어에서의 산술 표현식과 스택 이용한 수식의 표현법(notation)
요약, 연습문제
Chapter 06 큐(QUEUE)
00 개요
1. 큐의 정의
2. 일상생활에서 큐의 예
3. 컴퓨터 기억 공간에서의 큐의 구현
4. 큐의 종류
5. 컴퓨터 기억 공간에서의 큐의 활용
01 배열(순차 자료구조와 순차 리스트)을 이용한 큐
1. 배열을 이용한 큐 알고리즘
2. 일상생활에서 큐의 예
3. 컴퓨터 기억 공간에서의 큐의 구현
4. 큐의 종류
5. 컴퓨터 기억 공간에서의 큐의 활용
01 배열(순차 자료구조와 순차 리스트)을 이용한 큐
1. 배열을 이용한 큐 알고리즘
2. 배열을 이용한 큐 연산(삽입/삭제) 알고리즘 예
3. 배열을 이용한 큐 알고리즘(가상 코드)과 분석
4. 배열을 이용한 큐의 C 언어 프로그래밍 실습 예
02 구조체와 포인터(연결 자료구조와 연결 리스트)를 이용한 큐
1. 구조체와 포인터를 이용한 큐 알고리즘
2. 구조체와 포인터를 이용한 큐 알고리즘 예
3. 구조체와 포인터(단순 연결 자료구조와 단순 연결 리스트)를 이용한 큐 알고리즘(가상 코드)과 분석
4. 구조체와 포인터를 이용한 큐의 C언어 프로그래밍 실습 예
03 큐의 종류
1. 큐의 넘침(Overflow)과 해결 방식
2. 큐의 종류
3. 배열을 이용한 원형 큐
04 데크(deque)
1. 데크의 개념과 종류
2. 데크의 구현 방식의 예
05 큐의 활용
1. 운영체제와 큐의 응용
2. 인터넷에서의 큐의 적용
3. 큐잉 이론
4. 우선순위 큐(Priority)와 시분할 시스템
요약, 연습문제
Part 03 비선형 구조
Chapter 07 트리(TREE)
00 개요
1. 트리의 개념
2. 일상생활에서 트리의 예
3. 이진 트리
4. 이진 트리를 주로 사용하는 이유
5. 이진 트리 구조의 표현
6. 이진 트리의 운행(traversal) 방식의 종류
7. 이진 트리의 활용
01 트리의 개념과 용어
1. 트리의 개념
2. 트리의 정의와 특성
3. 트리의 용어
4. 트리의 종류
02 이진 트리의 개념과 특성
1. 이진 트리의 정의
2. 이진 트리의 종류
3. 이진 트리의 성질
4. 이진 트리와 트리의 차이점
5. 이진 트리를 많이 사용하는 이유
6. 트리를 이진 트리로 변환하는 방법
7. 이진 트리의 추상 자료형
03 이진 트리의 표현법
1. 연속 배열 저장법
2. 연결 리스트에 의한 저장법
04 이진 트리의 운행(traversal) 방식
1. 이진 트리의 운행 방식의 종류
2. 전위 운행(preorder traversal)
3. 중위 운행(inorder traversal)
4. 후위 운행(postorder traversal)
05 이진 트리의 활용
1. 이진 트리의 운행과 대수식과의 관계
2. 컴퓨터 파일의 폴더(디렉토리) 용량 계산
3. 허프만(Huffman) 이진 트리
4. 스레드(threaded) 이진 트리
5. 정렬(Sort)과 검색(Search)에 응용되는 이진 트리의 확장
요약, 연습문제
Chapter 08 그래프(GRAPH)
00 개요
1. 그래프의 개념과 의의
2. 일상생활에서 그래프의 예
3. 그래프 이론의 도입과 오일러
4. 그래프의 표현
5. 그래프의 응용
01 그래프의 개념과 용어
1. 그래프의 정의
2. 그래프의 종류
3. 그래프에 관련된 용어
4. 그래프의 추상 자료형
02 그래프의 표현법
1. 인접 행렬(adjacency matrix)
2. 인접 리스트(adjacency list)
03 그래프의 운행(Graph Traversal) 방식
1. 깊이 우선 검색(DFS: Depth First Search)
2. 너비 우선 검색(BFS: Breadth First Search)
04 그래프의 활용
1. 신장 트리(Spanning Tree)
2. 최소 비용 신장 트리(MST: Minimum-cost Spanning Tree)
3. 최단 경로(Shortest Paths)
4. 이행적 폐쇄(Transitive Closure)
5. 위상 순서(Topological Order)
6. 간선 작업 네트워크(AOE: Activity On Edge-network)
7. 정점 작업 네트워크(AOV: Activity On Vertex-network)
8. 임계 경로(Critical Path)
9. 오일러의 공식
요약, 연습문제
Part 04 자료구조의 응용
Chapter 09 정렬(SORT) 1
00 개요
1. 정렬의 정의
2. 정렬의 활용성(정렬과 검색의 관련성)과 예
3. 정렬 시켜야할 대상의 표현
4. 정렬의 종류
5. 정렬 알고리즘 선택 시 고려 사항
01 배열을 이용한 선택 정렬
1. 선택 정렬 알고리즘
2. 선택 정렬 알고리즘 예
3. 선택 정렬 알고리즘(가상 코드)과 분석
4. 선택 정렬의 C 언어 프로그래밍 실습 예
02 배열을 이용한 삽입 정렬
1. 삽입 정렬 알고리즘
2. 삽입 정렬 알고리즘 예
3. 삽입 정렬 알고리즘(가상 코드)과 분석
4. 삽입 정렬의 C 언어 프로그래밍 실습 예
03 배열을 이용한 버블 정렬
1. 버블 정렬 알고리즘
2. 버블 정렬 알고리즘 예
3. 버블 정렬 알고리즘(가상 코드)과 분석
4. 버블 정렬의 C 언어 프로그래밍 실습 예
04 배열을 이용한 쉘 정렬
1. 쉘 정렬 알고리즘
2. 쉘 정렬 알고리즘 예
3. 쉘 정렬 알고리즘(가상 코드)과 분석
4. 쉘 정렬의 C 언어 프로그래밍 실습 예
05 배열을 이용한 퀵 정렬
1. 퀵 정렬 알고리즘
2. 퀵 정렬 알고리즘 예
3. 퀵 정렬 알고리즘(가상 코드)과 분석
4. 퀵 정렬의 C 언어 프로그래밍 실습 예
요약, 연습문제
Chapter 10 정렬(SORT) 2
06 배열을 이용한 병합 정렬
1. 병합 정렬의 개념
2. 병합 정렬의 종류
3. 2-way 병합 정렬의 작업 단계
4. 2-way 병합 정렬 과정의 예
5. 2-way 병합 정렬의 가상 코드 알고리즘과 분석
6. 2-way 병합 정렬의 C 언어 프로그래밍 실습 예
07 구조체와 포인터를 이용한 기수 정렬
1. 기수 정렬의 개념
2. 기수 정렬의 종류
3. 기수 정렬 과정의 예
4. 기수 정렬의 가상 코드 알고리즘과 분석
5. 기수 정렬의 C 언어 프로그래밍 실습 예
08 구조체와 포인터를 이용한 이진 탐색 트리 정렬
1. 이진 탐색 트리(Binary Search Tree)의 개념
2. 이진 탐색 트리의 예
3. 이진 탐색 트리 정렬 과정의 예
4. 이진 탐색 트리 정렬의 알고리즘(가상 코드)
5. 이진 탐색 트리 정렬의 C 언어 프로그래밍 실습 예
09 배열을 이용한 히프 정렬
1. 우선순위 큐 => [제6장] 참고
2. 히프 정렬
10 정렬 알고리즘의 성능 비교
요약, 연습문제
Chapter 11 검색(SEARCH) 1
00 개요
1. 검색의 정의
2. 검색의 활용성(정렬과 검색의 관련성)
3. 검색의 종류
4. 검색 알고리즘 선택 시 고려 사항
5. 효율적인 검색의 조건
6. 평균 검색장
01 정렬된 배열에서의 순차 검색
1. 정렬된 배열에서의 순차 검색
2. 정렬된 배열에서의 순차 검색 알고리즘 예
3. 정렬된 배열에서의 순차 검색 알고리즘(가상 코드)과 분석
4. 정렬된 배열에서의 순차 검색의 C 언어 프로그래밍 실습 예
02 정렬된 배열에서의 색인 순차 검색
1. 정렬된 배열에서의 색인 순차 검색
2. 정렬된 배열에서의 색인 순차 검색 알고리즘 예
3. 정렬된 배열에서의 색인 순차 검색 알고리즘(가상 코드)과 분석
4. 정렬된 배열에서의 색인 순차 검색의 C 언어 프로그래밍 실습 예
03 정렬된 배열에서의 이진 검색(제어 검색)
1. 정렬된 배열에서의 이진검색 알고리즘
2. 정렬된 배열에서의 이진검색 알고리즘 예
3. 정렬된 배열에서의 이진검색 알고리즘(가상 코드)과 분석
4. 정렬된 배열에서의 이진검색의 C 언어 프로그래밍 실습 예
04 정렬된 배열에서의 보간 검색(제어 검색)
1. 보간 검색 알고리즘
2. 보간 검색 알고리즘 예
3. 보간 검색 알고리즘(가상 코드)과 분석
4. 보간 검색 알고리즘의 C 언어 프로그래밍 실습 예
요약, 연습문제
Chapter 12 검색(SEARCH) 2
05 구조체 배열을 이용한 해싱(Hashing)
1. 해싱의 개념
2. 해싱의 활용
3. 해싱과 충돌의 예
4. 해시 함수의 종류와 연산
5. 과잉 상태(overflow) 처리하는 방법
6. 해싱 분석
7. 해싱의 특징
8. 해싱의 C 언어 프로그래밍 실습 예
06 구조체 배열을 이용한 이진 탐색 트리에서의 검색
1. 이진 탐색 트리(Binary Search Tree)의 개념
2. 이진 탐색 트리(BST: Binary Search Tree)의 예
3. 이진 탐색 트리(BST: Binary Search Tree)의 알고리즘(가상 코드)
4. 이진 탐색 트리(BST: Binary Search Tree)의 C 프로그래밍 실습
07 구조체와 포인터를 이용한 균형 이진 탐색 트리(AVL)에서의 검색
1. AVL 트리의 개념
2. AVL 트리와 균형 인수
3. AVL 트리의 예
4. AVL 트리의 회전 연산의 예
5. AVL 트리의 알고리즘
6. AVL 트리의 C 프로그래밍 실습
08 검색 종류의 성능 분석 및 비교
요약, 연습문제
추상 자료형(ADT)
[ADT 3_1] 다항식의 추상 자료형
[ADT 5_1] 스택의 추상 자료형
[ADT 6_1] 큐의 추상 자료형
[ADT 7_1] 이진 트리의 추상 자료형
[ADT 8_1] 그래프의 추상 자료형
[ADT 10_1] 히프의 추상 자료형
알고리즘(가상코드)
[AL 3_1] 배열을 이용한 다항식의 덧셈 연산 알고리즘
[AL 4_1] 단순 연결 자료구조와 단순 연결 리스트의 처음 위치로의 삽입 과정
[AL 4_2] 단순 연결 리스트의 중간 노드를 입력하는 작업(i번째 삽입)
[AL 4_3] 단순 연결 리스트의 마지막에 한 개의 노드를 입력하는 작업 과정
[AL 4_4] 단순 연결 리스트의 맨 처음 노드를 제거하는 알고리즘
[AL 4_5] 단순 연결 자료구조와 단순 연결 리스트의 i번째 노드를 제거하는 알고리즘
[AL 4_6] 단순 연결 자료구조와 단순 연결 리스트의 맨 마지막 노드를 제거하는 알고리즘
[AL 4_7] 원형 연결 자료구조와 원형 연결 리스트의 처음 위치로의 삽입 과정
[AL 4_8] 원형 연결 리스트의 중간 노드를 입력하는 작업(i번째 다음에 삽입)
[AL 4_9] 원형 연결 자료구조와 원형 연결 리스트의 삭제 연산 알고리즘
[AL 4_10] 이중 연결 자료구조와 이중 연결 리스트의 삽입 연산 알고리즘
[AL 4_11] 이중 연결 자료구조와 이중 연결 리스트의 삭제 연산 알고리즘
[AL 4_12] 다항식의 덧셈 연산 알고리즘
[AL 5_1] 삽입(Push Down) 스택 알고리즘
[AL 5_2] 삭제(Pop Up) 스택 알고리즘
[AL 5_3] 스택을 사용하여 수식을 변환하는 방법(중위 표기법→후위 표기법) 알고리즘
[AL 5_4] 스택을 이용한 후위 표기법에서의 계산 알고리즘
[AL 6_1] 큐의 삽입 알고리즘
[AL 6_2] 큐의 삭제 알고리즘
[AL 6_3] 구조체와 포인터(단순 연결 자료구조와 단순 연결 리스트)를 이용한 큐의 삽입 알고리즘
[AL 6_4] 구조체와 포인터(단순 연결 자료구조와 단순 연결 리스트)를 이용한 큐의 삭제 알고리즘
[AL 6_5] 배열을 이용한 원형 큐의 삽입 알고리즘
[AL 6_6] 배열을 이용한 원형 큐의 삭제 알고리즘
[AL 7_1] 이진 트리에서의 전위 운행 알고리즘(순환 이용)
[AL 7_2] 이진 트리에서의 전위 운행 알고리즘(스택 이용)
[AL 7_3] 이진 트리에서의 중위 운행 알고리즘(순환 이용)
[AL 7_4] 이진 트리에서의 중위 운행 알고리즘(스택 이용)
[AL 7_5] 이진 트리에서의 후위 운행 알고리즘(순환 이용)
[AL 7_6] 이진 트리에서의 후위 운행 알고리즘(스택 이용)
[AL 7_7] 허프만 이진 트리에서의 알고리즘
[AL 8_1] 그래프에서의 깊이 우선 검색(DFS) 알고리즘
[AL 8_2] 그래프에서의 너비 우선 검색(BFS) 알고리즘
[AL 8_3] 프림 알고리즘(Prim Algorithm)
[AL 8_4] 다익스트라(Dijkstra) 최단 경로 알고리즘
[AL 8_5] 플로이드(Floyd) 최단 경로 알고리즘
[AL 9_1] 선택 정렬 알고리즘
[AL 9_2] 삽입 정렬 알고리즘
[AL 9_3_1] 버블 정렬 알고리즘(플래그 두지 않는 경우)
[AL 9_3_2] 버블 정렬 알고리즘(플래그 두는 경우)
[AL 9_4] 쉘 정렬 알고리즘
[AL 9_5] 퀵 정렬 알고리즘
[AL 10_1] 2-way 병합 정렬 알고리즘
[AL 10_2] 2-way 병합 정렬 서브 알고리즘
[AL 10_3] 기수 정렬 알고리즘
[AL 10_4] 이진 탐색 트리에서의 정렬 알고리즘(중위 운행 방식 사용)
[AL 10_5] 이진 탐색 트리에서의 삽입 알고리즘
[AL 10_6] 이진 탐색 트리에서의 삭제 알고리즘
[AL 10_7] 히프의 정렬 알고리즘
[AL 10_8] 히프의 재구성 알고리즘
[AL 10_9] 최대 히프에서의 삽입 알고리즘
[AL 10_10] 최대 히프에서의 삭제 알고리즘
[AL 11_1] 정렬된 배열에서의 순차 검색 알고리즘
[AL 11_2] 정렬된 배열에서의 색인 순차 검색 알고리즘
[AL 11_3] 정렬된 배열에서의 이진 검색 알고리즘
[AL 11_4] 정렬된 배열에서의 보간 검색 알고리즘
[AL 12_1] 이진 탐색 트리의 구성 알고리즘
[AL 12_2] 이진 탐색 트리에서의 검색 알고리즘
[AL 12_3] AVL 트리에서의 삽입 알고리즘
[AL 12_4] AVL 트리에서의 RR 회전 알고리즘
[AL 12_5] AVL 트리에서의 LL 회전 알고리즘
[AL 12_6] AVL 트리에서의 RL 회전 알고리즘
[AL 12_7] AVL 트리에서의 LR 회전 알고리즘
C 프로그래밍 실습 예제
[실습 2.1] C의 구조와 프로그래밍 순서
[실습 2.2] C의 조건문과 반복문
[실습 2.3] 1차원 배열 이용
[실습 2.4] 포인터 변수와 2차원 배열
[실습 2.5] 구조체 배열과 구조체 포인터
[실습 2.6] 함수의 순환을 이용한 하노이탑 이동
[실습 3.1] 2차원 배열을 이용한 행렬 연산
[실습 3.2] 구조체와 구조체 배열을 사용하여 다항식 덧셈 계산
[실습 4.1] 단순 연결 자료구조와 단순 연결 리스트의 삽입/삭제
[실습 4.2] 원형 연결 자료구조와 원형 연결 리스트의 삽입/삭제
[실습 4.3] 이중 연결 자료구조와 이중 연결 리스트의 삽입/삭제
[실습 4.4] 단순 연결 리스트를 이용한 다항식 덧셈 연산
[실습 5.1] 배열을 이용한 스택에서의 삽입/삭제
[실습 5.2] 포인터를 이용한 스택에서의 삽입/삭제
[실습 5.3] 스택을 사용하여 수식 변환(중위 표기법→후위 표기법)
[실습 5.4] 스택을 사용하는 후위 표기법 계산 알고리즘
[실습 6.1] 배열을 이용한 큐에서의 삽입/삭제
[실습 6.2] 단순 연결 리스트를 이용한 큐의 삽입/삭제
[실습 6.3] 배열을 이용한 원형 큐에서의 삽입/삭제
[실습 7.1] 이진 트리의 연결 리스트 저장법을 이용하여 배열 표현 후 검색
[실습 7.2] 구조체와 포인터를 이용하여 이진 트리 생성, 되부름을 사용한 inorder, preorder, postorder 운행법
[실습 7.3] 구조체 배열을 이용한 스레드 이진 트리에서의 중위 운행법과 우측 노드 삽입
[실습 8.1] 배열을 이용한 그래프 표현(인접 행렬)
[실습 8.2] 구조체와 포인터를 이용한 그래프 표현(인접 리스트)
[실습 8.3] 구조체와 포인터를 이용한 그래프 표현(인접 리스트)와 깊이 우선 검색
[실습 8.4] 구조체와 포인터를 이용한 그래프 표현(인접 리스트)와 너비 우선 검색
[실습 8.5] 프림 알고리즘 구현
[실습 8.6] 최단 경로 구하기
[실습 9.1] 선택 정렬(오름차순)
[실습 9.2] 삽입 정렬(오름차순)
[실습 9.3.1] 버블 정렬(오름차순) - 플래그 미사용
[실습 9.3.2] 버블 정렬(오름차순) - 플래그 사용
[실습 9.4] 쉘 정렬(오름차순)
[실습 9.5] 퀵 정렬(오름차순)
[실습 10.1] 2-way 병합 정렬(오름차순)
[실습 10.2] 기수 정렬(오름차순)
[실습 10.3] 이진 탐색 트리 정렬(오름차순)
[실습 10.4] 히프 정렬(내림차순)
[실습 11.1] 순차 검색
[실습 11.2] 색인 순차 검색
[실습 11.3] 이진 검색
[실습 11.4] 보간 검색
[실습 12.1] 해싱 함수 이용 검색
[실습 12.2] 이진 탐색 트리 표현 후 검색
[실습 12.3] AVL 표현 후 검색