• 검색 결과가 없습니다.

알고리즘 알고리즘

N/A
N/A
Protected

Academic year: 2022

Share "알고리즘 알고리즘"

Copied!
17
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

알고리즘 알고리즘

영남대학교 컴퓨터공학과 조행래

(IT관 215호, 전화: 810-2559 l h h @ k )

email: [email protected])

(2)

강의의 성격 강의의 성격

자료구조의 후속 과목

파일 처리

알고리즘 설계 방법론

(3)

강의의 주요 내용(1) 강의의 주 내용(1)

보조기억 장치 특성 및 파일 처리를 위한 API 이해

보조기억장치를 이용한 자료구조

대량의 데이터에 대한 정렬/탐색 알고리즘

분할정복 방법, Greedy 방법, 동적 프로그래밍 등을 이용 한 알고리즘 설계 방법론

(4)

강의의 주요 내용(2) 강의의 주 내용(2)

File 처리의 개념

l 의 저장 방식 /O h d

File의 저장 방식, I/O Processing, Access Method

External Sorting Indexing

Indexing

Hashing

Search Structures: AVL Tree 2-3 Trees B-Tree

Search Structures: AVL Tree, 2 3 Trees, B Tree, …

Dynamic Programming, Divide-And-Conquer

NP-Hard and NP-Complete Problemsp

(5)

수업 목표 수업 목

보편적이면서도 응용 범위가 넓은 여러 분야의 기본적인 알고리즘들을 설계하고 분석하는 방법을 설명

알고리즘들을 설계하고 분석하는 방법을 설명

보조기억장치의 물리적 특성을 이해

보조기억장치의 물리적 특성을 이해

대용양의 데이터에 대한 정렬대용양의 데이터에 대 정렬/탐색 알고리즘, 분할정복/ 색 알 리 , 할정복 방법, Greedy 방법, 동적 프로그래밍, 그리고 NP-완전문제 등을 이해

(6)

ABEEK에 따른 학습성과 목표 ABEEK에 따른 학습성과 목

수학, 기초과학, 공학의 지식과 정보기술을 응용할 수 있 는 능력 30%

는 능력: 30%

자료를 이해하고 분석할 수 있는 능력 및 실험을 계획하고

자료를 이해하고 분석할 수 있는 능력 및 실험을 계획하고 수행할 수 있는 능력: 20%

현실적 제한조건을 반영하여 시스템, 요소, 공정을 설계할 수 있는 능력: 30%

공학 문제들을 인식하며, 이를 공식화하고 해결할 수 있는 능력: 20%

능력: 20%

(7)

학습성과 달성을 위한 수업진행 방법 학습성과 달성을 위한 수업진행 방법

수학, 기초과학, 공학의 지식과 정보기술을 응용할 수 있는 능력 저장장치의 특성을 이해하고 이를 고려하여 알고리즘을 작성할

저장장치의 특성을 이해하고 이를 고려하여 알고리즘을 작성할 수 있는 방법을 배운다.

자료를 이해하고 분석할 수 있는 능력 및 실험을 계획하고 수행

자료를 이해하고 분석할 수 있는 능력 및 실험을 계획하고 수행

다양한 알고리즘의 복잡성을 정성적/정량적으로 분석할 수 있고, .단점을 이해

현실적 제한조건을 반영하여 시스템, 요소, 공정을 설계

저장장치의 HW적 제한조건과 데이터의 특성을 고려하여 알고리

저장장치의 HW적 제한조건과 데이터의 특성을 고려하여 알고리 즘을 정의하고, 이를 다양한 프로그래밍언어로 개발

공학 문제들을 인식하며 이를 공식화하고 해결할 수 있는 능력

공학 문제들을 인식하며, 이를 공식화하고 해결할 수 있는 능력

복잡한 응용분야에 대한 대표적인 접근방법(동적 프로그래밍, 분 할정복, Greedy 방법 등)을 이해하며, 이러한 접근방법에 따라 알 고리즘을 작성

고리즘을 작성

(8)

교재 재

E. Horowitz 외 2명, Fundamentals of Data Structures in C, Comp te Science P ess 1st Edition

Computer Science Press, 1st Edition

E. Horowitz 외 2명, Fundamentals of Data Structures in C,

E. Horowitz 외 2명, Fundamentals of Data Structures in C, Silicon Press, 2nd Edition

이석호, 파일처리, 정익사

M F lk d B Z lli k Fil St t Addi W l

M. Folk and B. Zoellick, File Structures, Addison Wesley

R Neapolitan and K Naimipour Foundations of

R. Neapolitan and K. Naimipour, Foundations of

Algorithms using Java Pseudocode, Jones and Bartlett Pub.

(9)

기타 기타

자료구조를 수강한 컴퓨터공학과 3학년 학생을 대상으로

하여 진행한다 하여 진행한다.

타과 학생 및 4학년 학생들의 관리?

수강생들은 강의 시간에 익힌 개념을 실습하기 위해 N번 의 (N≒6) 프로그래밍 과제를 제출하도록 한다.

프로그래밍 과제에서 다양한 프로그래밍 언어 사용: C(2회), C++(2회), Java(2회)

숙제 제출 및 검사 방법

숙제 제출 및 검사 방법

프로그램 복사에 대한 처리 방법

(10)

평가 평가

수학, 기초과학, 공학의 지식과 정보기술을 응용할 수 있는 능력 중간/기말시험 프로그램 숙제(Shell Command 구현)

중간/기말시험, 프로그램 숙제(Shell Command 구현)

자료를 이해하고 분석할 수 있는 능력 및 실험을 계획하고 수행

중간/기말시험

현실적 제한조건을 반영하여 시스템, 요소, 공정을 설계, ,

중간기말시험, 프로그램 숙제(순차파일 구현, B+ 트리 구현)

공학 문제들을 인식하며 이를 공식화하고 해결할 수 있는 능력

공학 문제들을 인식하며, 이를 공식화하고 해결할 수 있는 능력

중간기말시험, 프로그램 숙제(동적 프로그래밍/분할정복/Greedy 중 한 분야 선택)

중간시험(35) + 기말시험(35) + 실습 숙제(30) = 100(상대 평가)

1회 결석시 2점 감점

(11)

주별 강의 내용 주별 강의 내용

1 Introduction 9 B Tree

2 Secondary Storage 10 B+ Tree 3 File Processing using

C/C++/Java 11 Hashing (1)

Hashing (2) 4 Sequential File Structures 12 Hashing (2)

Divide and Conquer 5 External Sorting 13 Dynamic Programming 6 Search Structures (1) 14 Greedy Algorithm

NP Complete Problems Search Structures (2)

7 Search Structures (2),

Indexing의 개념 15 기말 시험

8 중간 시험 16

(12)

Chapter 1 Chapter 1

Introduction to File

Structures

(13)

1. The Heart of File Structure Design . e ea t o e St uctu e es g

Motivation

Disks are slow.

RAM 속도: 10 ~ 20 nanoseconds (DDR3 SDRAM) Di k 속도 10 20 illi d

Disk 속도: 10 ~ 20 milliseconds Disk의 장점

Disk의 장점

Enormous capacity at much less cost than RAM

Non-volatile storage device

Non volatile storage device

Goal

Accessing to all the capacity without making our

applications spend a lot of time waiting for the disk

(14)

2. A Short History of File Structure Design 2. A Short History of File Structure Design

General goal of research in file structures

One access to the disk. 

Ideal

Only two or three trips to the disk 

Practical

Only two or three trips to the disk. 

Practical

Grouping information for fewer trips

☞ File 의 역동성 ( File 내용 혹은 크기의 변화 )

(15)

History sto y

Sequential file in tape device

Direct access of disk using

index

Simple index (sequentially stored)

Simple index (sequentially stored)

Tree structured index

Binary search tree AVL tree

Binary search tree, AVL tree

B-tree, B+-tree: logk

N

access

Hashing

Extendible, Dynamic hashing

Multi-key access method

Spatial access method: R-tree K-D-B tree

Spatial access method: R tree, K D B tree

(16)

3. A Conceptual Toolkit: File Structure Literacy

Literacy

File structure를 구성하는데 사용되는 개념들

S i l h d

Sequential Access Method

Indexed Sequential Access Method Direct Access Method

Direct Access Method

Disk I/O 를 줄이기 위해 사용되는 개념들

Disk I/O 를 줄이기 위해 사용되는 개념들

Buffering

Blockingg

Bucket Concept

Splitting & Merging

(17)

접근 방향

앞의 개념들을 완전 이해

새로운 응용 분야에 활용할 수 있는 능력 배양

접근 방향

새로운 응용 분야에 활용할 수 있는 능력 배양

기존 상용 package 들의 사용 능력 함양

참조

관련 문서

이상의 본 연구의 결과를 토대로 중년 여성의 정신건강 관리 시 분노표현의 유형을 확인하고 유형별 특성을 고려하여 중년 여성들이 사회에서 받아들여지는 건강하고

본 논문에서는 센서데이터들의 변화에 따라 환경변화 를 동적으로 인지하고 능동적으로 클러스터링을 재 수행 하게 함으로써 에너지 효율을 높일 수 있는 알고리즘을

창직은 창직과정에서 많은 어려움이 있을 수 있으며 이를 극복할 수 있는 창직역량의 개발이 매우.. 중요하다는 특성을

경영· 경제분야에서 이미 개발·정립된 이론들을 이해하고 이를 각종 의사결정문제에 적용하는데 도움을 줄 수 있는 수학적 분석 및

수학 교육의 주요한 목표 중 하나는 주어진 상황을 수학적으로 이해하고 분석하며 이를 바탕으로 실제 생활의 다양한 문제를 해결하는데 응용할 수 있게 하는 것이다. 이 문제에서는 어떤

실생활에서 공학과 설계를 이용한 사례를 통해 공학과 설계의 과정을 이해하고 이를 적용하여 문제를 해결할 수 있는 사례를 3개 이상 말할

NURBS 곡선으로 표현 하였고 파라메트릭 기법을 이용하여 보다 쉽게 형상을 정의할 수 있도록 하였 다 마지막으로 이를 수행할 수 있는 수퍼요트 프로파일

프로그래밍으로 구현하기 고1-ALP-64 그리디 알고리즘을 이해하고 이를 사용하여 문제를 해결하기 위한 프로그램을 구현한다. 프로그래밍으로 구현하기 고1-ALP-65