0% found this document useful (0 votes)
11 views22 pages

L1 Intro

data structure lab note

Uploaded by

양산일
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views22 pages

L1 Intro

data structure lab note

Uploaded by

양산일
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Data Structure

Introduction

U Kang
Seoul National University
U Kang 1
In This Lecture
 Motivation to study data structure
 Administrative information for this course

U Kang 2
Outline

Motivation
Course Information

U Kang 3
Why do we use Computer?
Is a computer just a faster and bigger calculator?

U Kang 4
Why do we use Computer?
 In addition to quickly computing numbers, we use
computers to access, manipulate and organize
data
 Store PPT file
 Sort 1 billion records to look for top-10 best records
 Online shopping mall
 Bank account
 Social Network Services (SNS)
 Web

U Kang 5
What is Data Structure?
 Data structure
 Any data representation and its associated operations
 Organization or structuring for a collection of data
items
 E.g., an array containing a sorted list of exam scores

 Using proper data structure makes a program super fast


(e.g., few days => few seconds)

 We learn data structure to design efficient algorithms to


do tasks efficiently in terms of time and space

U Kang 6
What about using fast computers?
 Ill-designed algorithms may require super-linear
running time which grows much faster than the
CPU’s growth rate

 E.g., an algorithm may require O(n2) running time


 This means if the input size increases 10 times, the
running time increases 100 times.
 To achieve the same running time, you need 100 times
faster (expensive) computer to handle 10 times larger
input
 If you design an O(n) algorithm, then you need only 10
times faster computer to handle the same input!

U Kang 7
Goals of this Course
1. Reinforce the concept that costs and benefits
exist for every data structure.
2. Learn the commonly used data structures.
 These form a programmer's basic data structure
“toolkit”.
3. Understand how to measure the cost of a data
structure or program.
 These techniques also allow you to judge the merits
of new data structures that you or others might invent.

U Kang 8
Outline

Motivation
Course Information

U Kang 9
Course Information
 URL:
http://datalab.snu.ac.kr/~ukang/courses/24S-DS
 Some materials and notices will be in eTL
 Office hour (instructor)
 Tue, 9:00-10:00 (also, by appointment)
 Room 301-502
 TAs
 Office Hour/Location : see the course homepage

U Kang 10
Course Information
 Class meets:
 Lecture: Mon, Wed 9:30 – 10:45 (Room 302-105)

 By default, the lectures will be in offline


 Some lectures may be in online

 We will post notices in eTL if there are updates

U Kang 11
Textbook

 Cliff A. Shaffer, A Practical Introduction to Data


Structures and Algorithm Analysis, Edition 3.2
(Java version), Mar/28/2013.
 (The e-book is freely available at
http://people.cs.vt.edu/~shaffer/Book/)

U Kang 12
Prerequisites

 M1522.000600 (Computer Programming) or


consent of instructor

 Knowledge of the Java programming language


enough to be able to design, code, and debug
programs

U Kang 13
Grading
 15% Attendance
 25% Homework
 30% Midterm
 30% Final

U Kang 14
Homework
 Written assignment
 8 assignments
 May require 2~4 hours

 Programming assignment
 4 assignments
 May require 4~8 hours

U Kang 15
Late Policy

 For all homeworks


 No delay penalties, for medical etc emergencies (bring
doctor's note)
 Each person has 4 'slip days' total, for the whole
semester. 10% per day of delay, after that

U Kang 16
Course Ethics

 Do not copy the works of other people (e.g., homeworks,


exams, etc.)
 Then everyone involved in the plagiarism will get 0 score
 It is fine to discuss ideas about homework with your
colleagues, but the homework should be finished
independently
 Write down the names of your colleagues that you discussed
your homework with, if any
 Use office hours (of TAs and/or instructor) to ask about
homework
 Do not make fake attendances
U Kang 17
Laptop

 Laptop is allowed only for note taking purposes.


However, it would be better to take notes with your
pen

 In a study, students with laptop


 do not focus on the course
 use 37% of their time for Web or SNS
 get low scores in exam

U Kang 18
Schedule (Tentative)
Week Schedule
1 Chapter 1
2 Chapter 2
3 Chapter 3
4 Chapter 4
5 Chapter 4
6 Chapter 5
7 Chapter 6
8 Midterm Exam
9 Chapter 7
10 Chapter 7
11 Chapter 7
12 Chapter 9
13 Chapter 11
14 Chapter 11
15 Final
U Kang Exam 19
Advice

 This is an extremely important course in Computer


Science and Engineering
 The time devoted for this course will be fruitful
 If possible, read each chapter before class
 It is ok to encounter something you don’t understand. Just
mark it, and later you will understand it when you come
back.
 Active participation encouraged
 A creative person knows when and how to ask (right)
questions
 This class provides a good way of practicing asking
questions

U Kang 20
Advice
 Summarizing main ideas
 You should be able to explain a concept in less than 1
minute
 What is the problem that the algorithm/data structure tries to
solve?
 What is the solution? What is the main idea?
 What is the advantage of the solution? What is the limitation?
 In plain terms so that people with no background can understand

 Use office hours (instructor and/or TA)

U Kang 21
Questions?

U Kang 22

You might also like