130 likes | 391 Views
D ata s tructures. 01.1: a n I ntroduction. 동의대학교 멀티미디어공학과 이광의교수. c ourse s chedule. 1 주 : 기초지식 I 자료구조란 무엇인가 ? C++ 의 클래스 C++ 포인터 2 주 : 기초지식 II 재귀함수 수학적 귀납법 3 주 ~7 주 : 리스트 / 스택 / 큐 / 정렬 8 주 : 중간시험 9 주 ~14 주 : 트리 / 우선순위큐 / 탐색 / 그래프 15 주 : 기말시험. T oday’s t opic.
E N D
Data structures 01.1: an Introduction 동의대학교 멀티미디어공학과 이광의교수
course schedule • 1주: 기초지식 I • 자료구조란 무엇인가? • C++의 클래스 • C++ 포인터 • 2주: 기초지식 II • 재귀함수 • 수학적 귀납법 • 3주~7주: 리스트 / 스택/ 큐 / 정렬 • 8주: 중간시험 • 9주~14주: 트리 / 우선순위큐/ 탐색 / 그래프 • 15주: 기말시험 Dept. of Multimedia Engineering, DongEui Univ.(2)
Today’s topic • 자료구조의정의 • 정의1: 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. • 정의2: 자료구조는 추상자료형이다. • 정의3: 자료구조는 잘 알려지고 유용한 추상자료형이다. • C++클래스: 추상자료형의 구현 • 클래스 기초 • 클래스 구현 예 1 • 클래스 구현 예 2 • 포인터 • 포인터 기초 • 포인터 활용 예 1 Dept. of Multimedia Engineering, DongEui Univ.(3)
The 1stDefinition of data structure • 자료구조란무엇인가? • 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다.[wiki] • 시작하는 예제 • 유선방송 시청에 꼭 필요한 것은? • TV • 리모트 컨트롤러 • 채널목록 Dept. of Multimedia Engineering, DongEui Univ.(4)
A Starting example: t.v. channel list 1 Dept. of Multimedia Engineering, DongEui Univ.(5)
A Starting example: t.v. channel list 1 • 자료구조란무엇인가? • 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. • 이용의 의미는 무엇인가? • 채널 검색: chNameOf(5);chNumOf(“리얼TV”); • 채널 삭제: deleteNum(14); deleteName(“MGM”); • 채널 추가: insertCh(14, “동의TV”); • 효율적의 의미는 무엇인가? • 채널번호에 따른 채널 검색 • 채널이름에 따른 채널 검색 • 삭제, 추가 Dept. of Multimedia Engineering, DongEui Univ.(6)
A Starting example: t.v. channel list 2 Dept. of Multimedia Engineering, DongEui Univ.(7)
A Starting example: t.v. channel list 2 • 자료구조란무엇인가? • 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. • 이용의 의미는 무엇인가? • 채널 검색: chNameOf(5); chNumOf(“리얼TV”); • 채널 삭제: deleteNum(14); deleteName(“MGM”); • 채널 추가: insertCh(14, “동의TV”); • 효율적의 의미는 무엇인가? • 채널번호에 따른 채널 검색 • 채널이름에 따른 채널 검색 • 삭제, 추가 Dept. of Multimedia Engineering, DongEui Univ.(8)
The 1stDefinition of data structure • 자료구조란무엇인가? • 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다.[wiki] • 자료는 자료 자체뿐만 아니라 자료를 이용하고자 하는 이용방법(연산)을 포함한다. • 채널목록 자료는 다음으로 구성된다. • 자료: 채널번호와 채널이름 쌍들로 구성된 목록 • 연산: 검색연산, 삭제연산, 추가연산, 등. Dept. of Multimedia Engineering, DongEui Univ.(9)
The 2ndDefinition of data structure • 자료구조란무엇인가? • 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다.[wiki] • 자료구조는 추상자료형이다. • 추상자료형은 무엇인가? • 추상자료형은객체의 명세와 그 연산의 명세가 객체의 표현과 연산의 구현으로부터분리된 자료형이다. • 추상자료형은객체의 명세와 그 연산의 명세만을 의미한다. • 채널목록에 대한 추상자료형은 무엇인가? • 객체의 명세: 채널번호와 채널이름 쌍들의 집합 • 연산의 명세: 검색연산, 삭제연산, 추가연산 • 객체의 표현: 채널번호와 채널이름 쌍들의 집합을 어떻게 저장할 것인가? • 연산의 구현: 위의 객체의 표현방법에 따른 연산의 실현 절차 Dept. of Multimedia Engineering, DongEui Univ.(10)
Examples of abstract data type • 추상자료형의 예 • C++의 각종 변수:int, bool, float, double, char 등 • 음료수자판기, 전화기를포함하는 각종 가전제품 • 채널목록은 추상자료형인가? • 이 세상에 존재하는 모든 객체(대상,물건,…)는 어떤 의미에서 추상자료형이다. Dept. of Multimedia Engineering, DongEui Univ.(11)
The 3rdDefinition of data structure • 자료구조란무엇인가? • 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다.[wiki] • 자료구조는 추상자료형이다. • 자료구조는 잘 알려지고 유용한 추상자료형이다. • 자료구조 교과목은 무엇을 다루는가? • 잘 알려지고 유용한 추상자료형 • 리스트, 스택, 큐, 트리, 그래프 • 상기 추상자료형에 대한 다양한 형태의 구현 • 객체의 표현: 상기 객체를 어떻게 컴퓨터에 저장할 것인가? • 연산의 구현: 이러한 저장 방법에 대하여 연산은 어떻게 실현될 것인가? • 추상자료형의 구현은 C++의 클래스를 이용하여 구현할 수 있다. Dept. of Multimedia Engineering, DongEui Univ.(12)
summaries • 자료구조란무엇인가? • 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다.[wiki] • 자료구조는 추상자료형이다. • 자료구조는 잘 알려지고 유용한 추상자료형이다. • 도대체자료구조란 무엇인가? Dept. of Multimedia Engineering, DongEui Univ.(13)