Transcript Document

2014년 2학기
2014. 9. 2
김한준
Data Structures
 Efficient ways of storing and organizing data in a
computer
 provide a means to manage huge amounts of data
efficiently

Ex) Big data: Web data, medical data, communication data,
and whatever
 Data Mining Laboratory
Data Structures
Efficient
data
structures
Efficient
algorithms
Good quality
software
 Data Mining Laboratory
Data Structures
 Efficient ?
 Space complexity
 Time complexity
 Data Mining Laboratory
강의 내용
주요 자료구조
 Arrays
 Tree
 Stacks
 Graph
 Queues
 Sorting
 Linked List
 Hashing
 Data Mining Laboratory
Stacks
 LIFO (Last-in First-out)
 push/pop operations
 Applications
 Calculators
 Backtracking

Solving maze problems
 Data Mining Laboratory
Queues
 FIFO (First-In First-Out)
 add/delete operations
 Applications
 service/job scheduling
 Data Mining Laboratory
Trees
 Hierarchical tree structure with a set of linked nodes
 binary trees
 binary search trees
 threaded binary trees
 heap
 selection trees
 Data Mining Laboratory
Graphs
 A finite set of ordered pairs of edges and vertices
 Applications
 path finding
 social network mining
 Data Mining Laboratory
Sorting
 종류
 Selection sorting
 Insertion sorting
 Bubble sorting
 Quick sorting
 Heap sorting
 Merge sorting
 Radix sorting
 …
 Data Mining Laboratory
Hashing
Hash Tables
 Using a hash function to
map key values to their
associated values
 Data Mining Laboratory
강의 교재
 Textbook
 C언어로 쉽게 풀어 쓴 자료구조

저자: 천인국, 공용해

출판사: 생능출판사
 강의 시간에 필수 지참
 Data Mining Laboratory
강의 정보
 강의 홈페이지
 http://datamining.uos.ac.kr/자료구조-undergraduatefall-2014/
 강의일정 관련정보 게시
 평가결과 게시
 Data Mining Laboratory
강의 평가
 중간고사: 35%
 기말고사: 35%
 과제: 20%
 주요 자료구조 구현: list, stack, queue, hashing 등
 기말 프로젝트: 다수의 자료구조의 융합
 연습문제 풀이 및 Quiz: 10%
 연습문제풀이는 homework
 Quiz: 3~4회 실시
 Data Mining Laboratory
기말 프로젝트
 다수의 자료구조를 융합하여 데이터 처리, 관리
 예) Hashing + linked list + sorting
 예) Graph + linked list + sorting
 예) Stack + lined list + sorting
 구체적 프로젝트 수행 내용은,
 중간고사 직후에 공고
 Data Mining Laboratory
Quiz 예고 (2013. 9. 6)
 자료구조(data structure)와 알고리듬(algorithm)에 대하
여 기술하시오. (교재 1장 참조)
 Stack 과 Queue를 비교 설명하시오. (정의 및 용도를 기술)
 다음 recursive function (재귀 또는 순환 함수)의 출력 결
과를 작성하시오. (교재 2장 참조)
 Data Mining Laboratory