자료구조

From Course@DGIST
Jump to navigation Jump to search
SE274 자료구조
과목번호 SE274
학점/이론시수/실습시수 3/3/0
교과구분 교선필수
이학/공학 이-공
대분류 기초공학
소분류 컴퓨터공학
최초개설연도
교수자
개설학년 3
개설학기 1
교재

[[file:|100px]]

선수과목

개요

컴퓨터 프로그램의 주된 업무는 데이터 처리이다. 컴퓨터가 다루는 데이터는 양과 종류에 있어서 무궁무진하며, 웹, 운영체제, 컴퓨터 그래픽스, 컴퓨터 비전, 인공지능 등 다양한 분야의 핵심에는 대규모 데이터 처리가 있다. 이처럼 방대한 양의 데이터를 효율적으로 처리하기 위해서는 데이터를 잘 조직화하고 구조화하는 방법이 필수적이다. 수행하는 작업에 맞게 데이터가 잘 구조화되어 있는 경우 효율성을 극대화할 수 있지만, 구조화되어 있지 않거나 엉뚱한 방식으로 구조화가 되어 있는 경우 효율성을 심각하게 저해할 수 있다.

본 강의에서는 데이터 추상화와 같은 기초적인 컨셉과 리스트, 큐, 테이블, 트리, 그래프 등과 같은 다양한 종류의 데이터 구조를 다룬다. 또한 데이터 탐색, 정렬과 같은 각각의 데이터 구조에 기반한 데이터 처리 방법들 및 각각의 효율성에 대해서도 공부한다. 본 강의를 수강함으로써 학생들은 기초적인 데이터 구조 및 관련 기초 지식을 습득하고, 이에 기반하여 컴퓨터 공학의 심화된 주제들에 대해 공부할 수 있는 기반을 마련할 수 있다.

주차별계획

  • Arrays, Linked Lists, and Recursion
  • Analysis of Algorithms
  • Stacks, Queues, and Deques
  • Trees
  • Heaps and Priority Queues
  • Hash Tables, Maps, and Skip Lists
  • Search Trees (Binary Search Trees, AVL Trees)
  • Search Trees (2,4 Trees, Red-Black Trees)
  • Sorting
  • Graph Representations, Graph Traversals
  • Shortest Paths
  • Minimum-Cost Spanning Trees
  • Memory Management and B-Trees

평가방법

기타정보