자료구조 Data Structures 2016년 2학기 전자전기컴퓨터공학부 김한준
수업 목표 소프트웨어 구성의 바탕이 되는 핵심 자료구조를 파악하고 이를 활용하여 하나의 SW시스템을 개발할 수 있는 능력을 키움 필수 자료구조인 List, Stack, Queue, Tree, Graph, Hashing 관련한 응용 프로그램을 작성할 수 있는 능력을 배양 C언어 능력을 향상시키기 위해 용도에 적합한 자료구조를 설계하고, 이를 구현할 수 있는 능력을 키움
자료구조 시간 효율성 및 공간(메모리) 효율성을 높이기 위한 데이터의 구조는 ? Stack Queue Graph 예) Big Data를 표현하기 위한 구조 Stack Queue Graph
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 Stacks Queues Linked List Tree Graph Sorting Hashing 주요 자료구조 Arrays Stacks Queues Linked List Tree Graph Sorting Hashing Data Mining Laboratory
Stacks LIFO (Last-in First-out) Applications push/pop operations Calculators Backtracking Solving maze problems Data Mining Laboratory
Queues FIFO (First-In First-Out) Applications add/delete operations 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
수업 목표 소프트웨어 구성의 바탕이 되는 핵심 자료구조를 파악하고 이를 활용하여 하나의 SW시스템을 개발할 수 있는 능력을 키움 필수 자료구조인 List, Stack, Queue, Tree, Graph, Hashing 관련한 응용 프로그램을 작성할 수 있는 능력을 배양 C언어 능력을 향상시키기 위해 용도에 적합한 자료구조를 설계하고, 이를 구현할 수 있는 능력을 키움
자료구조 관련 사이트
강의 교재 Textbook 강의 시간에 필수 지참 C언어로 쉽게 풀어 쓴 자료구조 저자: 천인국외 2인 출판사: 생능출판사 출판년도: 2014년 강의 시간에 필수 지참 Data Mining Laboratory
강의 정보 강의 홈페이지 http://datamining.uos.ac.kr/ => “자료구조및실습” 클릭 강의일정 관련정보 게시 평가결과 게시 Data Mining Laboratory
강의진행 및 평가 방식 강의 평가 원칙은 아래와 같으며 필요에 따라서 조정 가능 이론 강의: 2시간 실습 수행: 2시간 중간고사: 40% 기말고사: 40% 과제: 15% 주요 자료구조 구현: list, stack, queue, hashing 등 기말 프로젝트: 다수의 자료구조의 융합 출석 및 Quiz: 5% Quiz: 3~4회 실시 (실습 시간에 수행)
기말 프로젝트 다수의 자료구조를 융합하여 데이터 처리, 관리 프로젝트 내용은, 예) Hashing + linked list + sorting 예) Graph + linked list + sorting 예) Stack (Queue) + linked list + sorting 프로젝트 내용은, 중간고사 이후 공고 Data Mining Laboratory
유의사항 컴퓨터 사용 휴대폰 사용 과제 수행 강의 시간: 컴퓨터 모니터 전원 Off, 유인물 또는 노트 필기 권장함 실습 시간: R 프로그래밍 제외한 프로그램 실행 금지 (예: 웹 검색, 채팅 등)하며, 적발 시 퇴실 조치함 휴대폰 사용 진동 발신음 처리 또는 전원 Off 통화 및 문자 메시지 절대 금지 과제 수행 도용 및 복사 적발시 벌칙: 1회 적발시 학점 1등급 강등, 2회 적발시 F 학점 처리 과제 도용: 웹 또는 다른 소스로부터 유사 내용 획득 과제 복사: 쌍방 모드 벌칙 처리함
Contact 강의 교수 실습 조교 김한준, khj@uos.ac.kr 정보기술관 408호 Office hour: 상담시 Email 연락 필수 매주 월 16:00 ~ 18:00, 목 15:00 ~ 18:00 실습 조교 유한묵, daum1064@gmail.com 정보기술관 415호
Questions ?