C로 배우는 알기 쉬운 자료구조
Regular price
$30.34
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
이 책은 챕터별로 각각의 자료구조 종류에 대한 개념과 용어 설명, 그 자료구조를 활용한 알고리즘 설계, 설계한 알고리즘을 이용하여 C 프로그램을 구현해보는 과정으로 구성되어 있다.
복잡한 자료구조의 개념을 삽화와 도표를 활용하여 이해하기 쉽고 간단히 설명한다. 알고리즘은 가상코드로 기술되어 있으며 자료구조에서 활용될 수 있는 다양한 알고리즘의 예제를 포함시켰다. 그리고 C 프로그램 예제는 소스코드의 일부만 표현한 것이 아닌 코드 첫 줄부터 끝까지 전부 작성되어 있고 코드에 대한 해설이 충분히 있어 이 책을 보며 스스로 학습하는 독자들에게도 실습해보는 데 어려움이 없을 것이다. 알고리즘 예제와 프로그램 실습 예제의 목차를 별도로 제공하여 원하는 내용을 쉽게 찾아볼 수 있다.
각 챕터마다 100문제 이내의 객관식 문제와 주관식 문제가 포함되어 있어 배운 내용을 충분히 점검해 볼 수 있다. 또한 제시된 문제들은 국가기술자격검정시험과 각종 자격증 시험에 대비할 수 있는 문제들로 구성되어 있다.
복잡한 자료구조의 개념을 삽화와 도표를 활용하여 이해하기 쉽고 간단히 설명한다. 알고리즘은 가상코드로 기술되어 있으며 자료구조에서 활용될 수 있는 다양한 알고리즘의 예제를 포함시켰다. 그리고 C 프로그램 예제는 소스코드의 일부만 표현한 것이 아닌 코드 첫 줄부터 끝까지 전부 작성되어 있고 코드에 대한 해설이 충분히 있어 이 책을 보며 스스로 학습하는 독자들에게도 실습해보는 데 어려움이 없을 것이다. 알고리즘 예제와 프로그램 실습 예제의 목차를 별도로 제공하여 원하는 내용을 쉽게 찾아볼 수 있다.
각 챕터마다 100문제 이내의 객관식 문제와 주관식 문제가 포함되어 있어 배운 내용을 충분히 점검해 볼 수 있다. 또한 제시된 문제들은 국가기술자격검정시험과 각종 자격증 시험에 대비할 수 있는 문제들로 구성되어 있다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
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 표현 후 검색
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 표현 후 검색
저자
저자
고응남
연세대학교 수학과를 졸업하고 숭실대학교 정보과학대학원에서 석사 학위를, 성균관대학교 정보공학과 대학원에서 박사 학위를 취득하였다. 대우전자와 대우통신에서 선임연구원으로 근무하였고, 동우대학 전자계산과와 신성대학 정보통신과 교수를 역임하였다. 현재는 백석대학교 ICT(정보통신)학부 교수로 재직 중이다. 디지털콘텐츠학회 회장과 모바일학회 회장, 멀티미디어학회 부회장을 역임하였다.
【주요 수상 경력】
국무총리상(2010년), 행정안전부장관상(2010년), 지식경제부장관상(2008년), 한국과학기술정보연구원장상(2015년), 정보통신연구진흥원장상(2007년), 아인쉬타인상(미국, 2012년), 최고과학기술자상(미국, 2011년), IT분야최고기술자상(영국, 2010년), APIS국제학술대회 우수논문발표상(일본, 2009년), 정보처리학회학술대상(2009년), 멀티미디어학회우수논문상(2006년), 디지털콘텐츠학회우수논문상(2009년), 모바일학회우수논문상(2010년), 정보통신연구진흥원 최우수과제선정(2005년), 백석대학교 최우수교수상(2013년 / 2014년), 백석대학교 최우수강의상(2005년), 디지털콘텐츠학회공로상(2002년), 모바일학회공로상(2004년) 등을 수상하였다. 세계 3대 인명사전(Marquis Who's Who in the World / ABI / IBC) 세 군데에 각각 인명이 등재되었다.
【주요 저서와 논문】
『4차 산업혁명 시대의 정보통신개론(한빛아카데미)』, 『컴퓨터 개론(웰북)』, 『비주얼 베이직 프로그래밍(한빛아카데미)』, 『자바 프로그래밍 기초(한빛아카데미)』, 『인터넷프로그래밍(정익사)』, 『ASP 기초 및 응용 실습(OKPress)』, 『C 프로그래밍 단계별 실습(21세기사)』, 『자바 스크립트의 기초 및 응용 실습(정익사)』, 『Turbo C 언어 기초 실습(이한출판사)』 등 24권을 집필하였다. 외국 유명 논문지(SCIE 등 포함)에 약 80여 편, 국내 유명 학술지에 약 200여 편의 논문을 발표하였다.
【주요 수상 경력】
국무총리상(2010년), 행정안전부장관상(2010년), 지식경제부장관상(2008년), 한국과학기술정보연구원장상(2015년), 정보통신연구진흥원장상(2007년), 아인쉬타인상(미국, 2012년), 최고과학기술자상(미국, 2011년), IT분야최고기술자상(영국, 2010년), APIS국제학술대회 우수논문발표상(일본, 2009년), 정보처리학회학술대상(2009년), 멀티미디어학회우수논문상(2006년), 디지털콘텐츠학회우수논문상(2009년), 모바일학회우수논문상(2010년), 정보통신연구진흥원 최우수과제선정(2005년), 백석대학교 최우수교수상(2013년 / 2014년), 백석대학교 최우수강의상(2005년), 디지털콘텐츠학회공로상(2002년), 모바일학회공로상(2004년) 등을 수상하였다. 세계 3대 인명사전(Marquis Who's Who in the World / ABI / IBC) 세 군데에 각각 인명이 등재되었다.
【주요 저서와 논문】
『4차 산업혁명 시대의 정보통신개론(한빛아카데미)』, 『컴퓨터 개론(웰북)』, 『비주얼 베이직 프로그래밍(한빛아카데미)』, 『자바 프로그래밍 기초(한빛아카데미)』, 『인터넷프로그래밍(정익사)』, 『ASP 기초 및 응용 실습(OKPress)』, 『C 프로그래밍 단계별 실습(21세기사)』, 『자바 스크립트의 기초 및 응용 실습(정익사)』, 『Turbo C 언어 기초 실습(이한출판사)』 등 24권을 집필하였다. 외국 유명 논문지(SCIE 등 포함)에 약 80여 편, 국내 유명 학술지에 약 200여 편의 논문을 발표하였다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

