자료구조
모집중- 컴퓨터공학
- 촬영교수
- 강희영교수소개
- 학점
- 3학점
- 신청기간
- 2025.07.09 ~ 2026.03.11
- 학습기간
- 2026.03.12 ~ 2026.06.24
- 수강료
210,000원
75,000원
- 관련전공
강좌소개
| 수업개요 | 자료구조의 기본개념을 이해하고, 프로그래밍에서 많이 다루는 자료구조들인 배열, 순차리스트, 연결리스트, 스택, 큐, 트리, 그래프, 해시테이블 등의 개념과 구현방법을 다루고, 정렬 및 탐색알고리즘을 통해 자료구조의 활용을 이해한다. | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 수업목표 | 1. 자료의 표현방법과 기본 연산, 해당 자료구조가 필요한 상황을 설명할 수 있다.
2. 배열과 연결 목록의 표현 방법의 차이를 설명할 수 있다. 3. 선형 자료구조인 스택과 큐의 표현 방법을 설명할 수 있다. 4. 비선형 자료구조인 트리와 그래프에 대한 표현 방법과 문제 해결 방법의 차이점을 설명할 수 있다. 5. 다양한 정렬 방법 및 각 알고리즘을 설명할 수 있다. 6. 다양한 검색 방법과 각 알고리즘의 차이를 설명할 수 있다. 7. 학습한 자료구조를 이용한 실제 응용 프로그램을 설명할 수 있다. |
||||||||||||||
| 평가기준 |
|
||||||||||||||
| 수료기준 | 출석률80%, 상대평가 (중간고사와 기말고사 모두 미응시 시 미수료) | ||||||||||||||
| 특이사항 |
강의계획서
| 과목명 | 교수명 | 교수연락처 | 이메일 | 년도/차시 |
|---|---|---|---|---|
| 자료구조 | 강희영 | 1644-3434 | info@ibstudy.co.kr | 2026년 1-5차 |
| 학습기간 | 강의시간 | 학점 | 평가구분 | 수강대상 강의실 및 주요 수업방법 |
| 2026년 03월 12일 ~ 2026년 06월 24일 | 15주 | 3 | 상대평가 |
| 평가기준 | |||||||
|---|---|---|---|---|---|---|---|
| 출석 | 중간고사 | 기말고사 | 과제 | 토론 | 퀴즈 | 기타 | 계 |
| 15% | 25% | 25% | 15% | 10% | 5% | 5% | 100% |
| 과목 수료조건: 총점 60점 이상(60점 미만 F), 출석률 80%이상(출석률 80%미만은 출석과락) | |||||||
| 주요 학사일정 |
|
|---|---|
| 과목개요 | 자료구조의 기본개념을 이해하고, 프로그래밍에서 많이 다루는 자료구조들인 배열, 순차리스트, 연결리스트, 스택, 큐, 트리, 그래프, 해시테이블 등의 개념과 구현방법을 다루고, 정렬 및 탐색알고리즘을 통해 자료구조의 활용을 이해한다. |
| 수업목표 | 1. 자료의 표현방법과 기본 연산, 해당 자료구조가 필요한 상황을 설명할 수 있다.
2. 배열과 연결 목록의 표현 방법의 차이를 설명할 수 있다. 3. 선형 자료구조인 스택과 큐의 표현 방법을 설명할 수 있다. 4. 비선형 자료구조인 트리와 그래프에 대한 표현 방법과 문제 해결 방법의 차이점을 설명할 수 있다. 5. 다양한 정렬 방법 및 각 알고리즘을 설명할 수 있다. 6. 다양한 검색 방법과 각 알고리즘의 차이를 설명할 수 있다. 7. 학습한 자료구조를 이용한 실제 응용 프로그램을 설명할 수 있다. |
| 상대평가 안내 |
국가평생교육진흥원 평가인정 학습과정 운영지침에 따라 평가는 상대평가로 진행됩니다. (교육부 고시 제 2015-85호, 2016년 1월 6일 제정, 2016년 1월 1일 시행) 상대평가에 의거하여 학습자의 순위에 따라 백분율로 산정되며 A(30%), B(40%), C이하(30%)의 비율을 기준으로 성적이 부여됩니다. 또한 부여받은 점수는 최종 점수조정을 거쳐 국가평생교육진흥원에 최종적으로 성적보고가 됩니다. (출석률 80%미만, 상대평가 점수 60점 미만은 F처리되며 상대평가에서 제외됩니다.) |
| 주별 | 차시 | 강의(실습ㆍ실기ㆍ실험) 내용 | 과제 및 기타 참고사항 | |
|---|---|---|---|---|
| 제1주 |
|
|||
| 1차시 | 차시제목 | 자료구조의 개요 |
|
|
| 학습내용 | 1. 자료구조와 알고리즘 2. 추상 자료형 3. 알고리즘의 복잡도 분 |
|||
| 학습목표 | 1. 자료구조의 의미와 중요성 및 알고리즘과의 차이점을 설명할 수 있다. 2. 알고리즘의 개념과 조건, 표현방법을 설명할 수 있다. 3. 자료형과 추상자료형의 개념을 설명할 수 있다. 4. 시간 복잡도의 개념을 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 재귀호출 |
|
|
| 학습내용 | 1. 팩토리얼 2. 피보나치 3. 하노이탑 |
|||
| 학습목표 | 1. 반복과 재귀호출(순환)의 차이점을 비교할 수 있다. 2. 팩토리얼, 피보나치 수열, 하노이탑에 적용된 재귀호출을 설명할 수 있다. |
|||
| 제2주 |
|
|||
| 1차시 | 차시제목 | 배열 |
|
|
| 학습내용 | 1. 배열 2. 구조체 3. 배열을 이용한 다항식 |
|||
| 학습목표 | 1. 배열과 구조체의 개념에 대해 설명할 수 있다. 2. 배열과 구조체의 차이점을 설명할 수 있다. 3. 배열을 이용한 다항식 계산을 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 포인터 |
|
|
| 학습내용 | 1. 희소행렬 2. 포인터 3. 동적 메모리 할당 |
|||
| 학습목표 | 1. 희소행렬에 대해 설명할 수 있다. 2. 포인터에 대해 설명할 수 있다. 3. 동적 메모리 할당에 대해 설명할 수 있다. |
|||
| 제3주 |
|
|||
| 1차시 | 차시제목 | 스택의 구현 |
|
|
| 학습내용 | 1. 스택 연산 2. 배열 스택 3. 동적 스택 |
|||
| 학습목표 | 1. 선형 자료구조인 스택에 대해 설명할 수 있다. 2. 스택의 연산 방법 및 배열 스택에 대해 설명할 수 있다. 3. 스택의 연산 방법 및 동적 스택에 대해 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 스택의 응용 |
|
|
| 학습내용 | 1. 괄호 검사 2. 수식 계산 3. 미로 찾기 |
|||
| 학습목표 | 1. 스택을 응용하여 괄호 검사를 수행할 수 있다. 2. 스택을 응용하여 수식 계산을 수행할 수 있다. 3. 스택을 응용하여 미로 찾기를 수행할 수 있다. |
|||
| 제4주 |
|
|||
| 1차시 | 차시제목 | 큐의 구현 |
|
|
| 학습내용 | 1. 큐 연산 2. 선형 큐 3. 원형 큐 |
|||
| 학습목표 | 1. 선형 자료구조인 스택과 큐에 대해 비교하여 설명할 수 있다. 2. 1차원 배열을 이용한 선형 큐에 대해 설명할 수 있다. 3. 선형 큐의 오버플로우 문제를 해결한 원형 큐에 대해 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 큐의 응용 |
|
|
| 학습내용 | 1. 버퍼 2. 덱(DEQUE) 3. 시뮬레이션 |
|||
| 학습목표 | 1. 큐의 응용을 통해 문제와 실행결과를 파악할 수 있다. 2. 선형 자료구조인 덱의 개념에 대해 설명할 수 있다. 3. 시뮬레이션을 통해 실행결과를 파악할 수 있다. |
|||
| 제5주 |
|
|||
| 1차시 | 차시제목 | 단순연결리스트 |
|
|
| 학습내용 | 1. 리스트 연산 2. 배열 리스트 3. 연결 리스트 |
|||
| 학습목표 | 1. 리스트 연산의 개념에 대해 설명할 수 있다. 2. 배열을 통해 리스트를 분석할 수 있다. 3. 연결 리스트를 통해 노드를 파악할 수 있다. |
|||
| 2차시 | 차시제목 | 연결 리스트의 응용 |
|
|
| 학습내용 | 1. 단어 저장 2. 특정 값 탐색 3. 두 개의 리스트 합침 4. 역순 순회 5. 다항식 |
|||
| 학습목표 | 1. 연결 리스트를 응용하여 단어 저장 구현을 설명할 수 있다. 2. 연결 리스트를 통해 특정 값 탐색을 수행할 수 있다. 3. 연결 리스트를 통해 리스트의 합을 설명할 수 있다. 4. 연결 리스트를 통해 역순 구현을 설명할 수 있다. 5. 연결 리스트를 통해 다항식 구현을 설명할 수 있다. |
|||
| 제6주 |
|
|||
| 1차시 | 차시제목 | 원형 연결 리스트 |
|
|
| 학습내용 | 1. 원형 연결 리스트의 삽입과 삭제 2. 연결 리스트 스택 |
|||
| 학습목표 | 1. 원형 연결 리스트의 삽입 연산과 삭제 연산에 대해 설명할 수 있다. 2. 원형 연결 리스트를 응용하여 연결 리스트 스택을 수행할 수 있다. |
|||
| 2차시 | 차시제목 | 이중 연결 리스트 |
|
|
| 학습내용 | 1. 이중 연결 리스트의 삽입과 삭제 2. 연결 리스트 큐 |
|||
| 학습목표 | 1. 원형 연결 리스트를 통해 이중 연결 리스트의 삽입과 삭제 연산에 대해 설명할 수 있다. 2. 연결 리스트를 통해 연결 리스트 큐를 수행할 수 있다. |
|||
| 제7주 |
|
|||
| 1차시 | 차시제목 | 이진 트리 |
|
|
| 학습내용 | 1. 트리의 이해 2. 이진 트리의 개념 3. 이진 트리의 표현 |
|||
| 학습목표 | 1. 트리의 개념을 설명할 수 있다. 2. 이진 트리의 개념과 자료구조에 대해 설명할 수 있다. 3. 이진 트리의 구현 방법에 대해 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 이진 트리의 순회 |
|
|
| 학습내용 | 1. 전위 순회 2. 중위 순회 3. 후위 순회 |
|||
| 학습목표 | 1. 이진 트리의 전위 순회에 대해 설명할 수 있다. 2. 이진 트리의 중위 순회에 대해 설명할 수 있다. 3. 이진 트리의 후위 순회에 대해 설명할 수 있다. |
|||
| 제8주 |
|
|||
| 1차시 | 차시제목 |
|
||
| 학습내용 | ||||
| 학습목표 | ||||
| 2차시 | 차시제목 |
|
||
| 학습내용 | ||||
| 학습목표 | ||||
| 제9주 |
|
|||
| 1차시 | 차시제목 | 트리의 응용 |
|
|
| 학습내용 | 1. 수식 트리 2. 이진 트리 연산 3. 스레드 이진 트리 |
|||
| 학습목표 | 1. 트리를 응용하여 수식 트리를 해석할 수 있다. 2. 이진 트리 주요 연산의 개념에 대해 설명할 수 있다. 3. 스레드 이진 트리의 개념에 대해 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 이진 검색 트리 |
|
|
| 학습내용 | 1. 이진 검색 트리 구현 2. 이진 검색 트리 삽입 3. 이진 검색 트리 삭제 |
|||
| 학습목표 | 1. 이진 검색 트리를 C언어로 해석할 수 있다. 2. 구현된 이진 검색 트리의 삽입 연산에 대해 설명할 수 있다. 3. 구현된 이진 검색 트리의 삭제 연산에 대해 설명할 수 있다. |
|||
| 제10주 |
|
|||
| 1차시 | 차시제목 | 히프 |
|
|
| 학습내용 | 1. 우선 순위 큐 구현 2. 히프의 삽입 및 삭제 |
|||
| 학습목표 | 1. 스택과 큐, 우선 순위 큐의 차이를 설명할 수 있다. 2. 삽입과 삭제연산이 가능한 우선 순위 큐를 C언어로 해석할 수 있다. |
|||
| 2차시 | 차시제목 | 히프 정렬 |
|
|
| 학습내용 | 1. 히프 정렬의 이해 2. 히프 정렬의 구현 |
|||
| 학습목표 | 1. 히프 정렬에 대해 설명할 수 있다. 2. 히프 정렬을 응용한 허프만 코드에 대해 설명할 수 있다. |
|||
| 제11주 |
|
|||
| 1차시 | 차시제목 | 그래프의 개념과 표현 |
|
|
| 학습내용 | 1. 그래프 정의 2. 그래프 성질 3. 그래프 구현 |
|||
| 학습목표 | 1. 그래프의 기본 용어에 대해 설명할 수 있다. 2. 그래프의 성질에 대해 설명할 수 있다. 3. 그래프를 표현하는 방법과 비선형 자료들을 적당한 표현 방법을 선택하여 그래프로 활용할 수 있다. |
|||
| 2차시 | 차시제목 | 그래프 탐색 |
|
|
| 학습내용 | 1. 그래프 탐색의 이해 2. 깊이 우선 탐색 3. 너비 우선 탐색 4. 탐색 분석 |
|||
| 학습목표 | 1. 그래프 탐색의 개념을 설명할 수 있다. 2. 깊이 우선 탐색에 대해 설명할 수 있다. 3. 너비 우선 탐색에 대해 설명할 수 있다. 4. 탐색을 분석할 수 있다. |
|||
| 제12주 |
|
|||
| 1차시 | 차시제목 | 신장트리와 최소비용 신장트리의 개요 |
|
|
| 학습내용 | 1. 최소비용 신장트리 2. Kruskal 알고리즘 3. Prim 알고리즘 |
|||
| 학습목표 | 1. 신장트리와 최소비용 신장트리의 개념을 설명할 수 있다. 2. Kruskal 알고리즘의 결과를 설명할 수 있다. 3. Prim 알고리즘의 결과를 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 최단경로와 작업 네트워크 |
|
|
| 학습내용 | 1. 최단경로 2. Dijkstra 알고리즘 3. 위상 정렬 |
|||
| 학습목표 | 1. 최단경로를 파악할 수 있다. 2. Dijkstra 알고리즘을 적용한 결과를 설명할 수 있다. 3. 위상 정렬의 개념 결과를 설명할 수 있다. |
|||
| 제13주 |
|
|||
| 1차시 | 차시제목 | 정렬 알고리즘 1 |
|
|
| 학습내용 | 1. 선택 정렬 2. 삽입 정렬 3. 버블 정렬 4. 쉘 정렬 |
|||
| 학습목표 | 1. 선택 정렬에 대해 설명할 수 있다. 2. 삽입 정렬에 대해 설명할 수 있다. 3. 버블 정렬에 대해 설명할 수 있다. 4. 쉘 정렬에 대해 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 정렬 알고리즘 2 |
|
|
| 학습내용 | 1. 합병 정렬 2. 퀵 정렬 3. 기수 정렬 |
|||
| 학습목표 | 1. 합병 정렬의 개념 및 구현된 알고리즘에 대해 설명할 수 있다. 2. 퀵 정렬의 개념 및 구현된 알고리즘에 대해 설명할 수 있다. 3. 기수 정렬의 개념 및 구현된 알고리즘에 대해 설명할 수 있다. |
|||
| 제14주 |
|
|||
| 1차시 | 차시제목 | 검색 |
|
|
| 학습내용 | 1. 순차 검색 2. 이진 검색 3. AVL 트리 4. 2-3 트리 |
|||
| 학습목표 | 1. 순차 검색의 개념과 원하는 항목을 파악할 수 있다. 2. 이진 검색의 개념과 원하는 항목을 파악할 수 있다. 3. AVL 트리를 통한 검색에 대해 설명할 수 있다. 4. 2-3 트리를 통한 검색에 대해 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 해싱 |
|
|
| 학습내용 | 1. 해싱의 이해 2. 해싱 함수 3. 충돌과 오버플로우 해결방법 |
|||
| 학습목표 | 1. 해싱의 개념에 대해 설명할 수 있다. 2. 해싱 함수의 개념과 해싱 함수의 종류에 대해 설명할 수 있다. 3. 오버플로우 발생 시 처리 방법에 대해 설명할 수 있다. |
|||
| 제15주 |
|
|||
| 1차시 | 차시제목 |
|
||
| 학습내용 | ||||
| 학습목표 | ||||
| 2차시 | 차시제목 |
|
||
| 학습내용 | ||||
| 학습목표 | ||||
| 수업 참고사항 | |
|---|---|
| 강의 유형 | |
| 교재 정보 |
교재정보 보기
|
수강후기
교재안내
총 0건교수소개
강희영 교수님
- 주요학력
- 수원대학교 정보과학부 컴퓨터과학 학사 졸업
수원대학교 컴퓨터학과 석사 졸업
- 주요경력
- 전)미주직업전문학교 교수
현)(주)익스터디 강사














