data structure and algorithm

23
Data Structure and Algorithm โโโโโโโโโโโโ โโโโโโโโโโโโโ โโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโ โโโโโโโโโโ 20% โโโโ โโโ 50% โโโโโโโ 15% โโโโ โ Ref: โโโโโโโโโ โโโโโโโโ

Upload: nissim-lambert

Post on 04-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Data Structure and Algorithm. โครงสร้างข้อมูลและอัลกอริทึม. วัตถุประสงค์ หนังสืออ้างอิง แนวทางการเรียนการสอน และการวัดผล สอบกลางภาค 20 % ปลายภาค 50% โครงงาน 15% อื่น ๆ 15%. Ref: อสังเวียน สิทธิเวช. Data Structure and Algorithm โครงสร้างข้อมูลและอัลกอริทึม. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มู

วั�ตถุ�ประสงค� หนั�งส�ออ�างอ�ง แนัวัทึางการเร�ยนัการสอนั

และการวั�ดผล สอบกลางภาค 20% ปลายภาค

50% โครงงานั 15% อ�%นั ๆ 15%

Ref: อส�งเวั�ยนั ส�ทึธิ�เวัช

Page 2: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูชนั�ดข้องข้�อมู�ล (Data Type)

ข้�อมู�ลเช�งเด�%ยวัเป)นัค�ณล�กษณะข้องข้�อมู�ลโดยตรง

ข้�อมู�ลเช�งโครงสร�างเป)นัล�กษณะข้องการจั�ดการกล�-มูข้�อมู�ล

Page 3: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูข้�อมู�ลเช�งเด�%ยวั เป)นัล�กษณะข้องข้�อมู�ลโดยตรง ไมู-

สามูารถุแยกย-อยได�อ�ก จั/านัวันัเต0มู (Integer) จั/านัวันัจัร�ง (Real) อ�กข้ระ (Character) ตรรกะ (Logical) วั�นัทึ�% (Date) และอ�%นั ๆ ข้�1นัอย�-ก�บภาษาข้องโปรแกรมูทึ�%เข้�ยนั

Page 4: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูข้�อมู�ลเช�งเด�%ยวั หมูายถุ�ง 3 ส�%ง

ค-าข้องข้�อมู�ล ต�วัเลข้ ต�วัอ�กษร ร�ปภาพ โครงสร�างข้องข้�อมู�ล ควัามูส�มูพ�นัธิ�ข้อง

ข้�อมู�ล การด/าเนั�นังานัข้องข้�อมู�ล

การก/าหนัดค-า (assignment) = การค/านัวัณ (arithmetic) +, -, *, / การเปร�ยบเทึ�ยบ (relational) =, <, >,

<>, <=,>= ฟั4งช�%นัทึ�%ใช�ได� (function) abs, sqrt,

round

Page 5: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูข้�อมู�ลเช�งโครงสร�าง เป)นัโครงสร�างข้องกล�-มู

ข้�อมู�ลซึ่�%งประกอบจัากเซึ่ตข้องข้�อมู�ล (component) ซึ่�%งอาจัเป)นัข้�อมู�ลเช�งเด�%ยวั หร�อข้�อมู�ลเช�งโครงสร�างก0ได�

แถุวัล/าด�บ (Array) ระเบ�ยนั (Record) ไฟัล� (File)

Page 6: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูวั�ธิ�การข้องข้�อมู�ลแบบค�ดย-อ (abstract

data type) ไมู-สนัใจัรายละเอ�ยดวั-าจัะมู�การแทึนัค-าอย-างไรในั

หนั-วัยควัามูจั/า (ignore its representation)

ไมู-สนัใจัวั-าคอมูพ�วัเตอร�จัะด/าเนั�นัการอย-างไรเพ�%อให�ได�ผลล�พทึ� (ignore its implementation)

ทึ/าให�เราสร�างข้�อมู�ลอย-างไรก0ได�ตามูจั�นัตนัาการข้องเรา สามูารถุเอาไปใช�ได�ทึ�นัทึ�

Page 7: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูโครงสร�างข้องข้�อมู�ล แสดงถุ�งควัามูส�มูพ�นัธิ�

ข้องข้�อมู�ล แบบเซึ่ต (set) แบบเช�งเส�นั (linear – one to one) แบบล/าด�บช�1นั(tree/hierarchical – one to

many) แบบกราฟั (graph – many to many)

Page 8: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูโครงสร�างข้องข้�อมู�ลแบบ set

โครงสร�างข้องข้�อมู�ลแบบเช�งเส�นั (linear-one to one)

Page 9: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูโครงสร�างข้องข้�อมู�ลแบบล/าด�บช�1นั (one to

many)

โครงสร�างข้องข้�อมู�ลแบบกราฟั (many to many)

Page 10: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure

programming)

แบบเร�ยงตามูล/าด�บ (Sequence) แบบมู�การต�ดส�นัใจั (if-then-else) แบบวังจัรป7ด (do-while, do-until) แบบช�ดการต�ดส�นัใจั (case)

Page 11: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure

programming)

แบบเร�ยงตามูล/าด�บ (Sequence)

a=1

b=2

c=a+b

Page 12: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure

programming)

แบบมู�การต�ดส�นัใจั (if-then-else)

If a=1

c=a+b c=b-a

then else

Page 13: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure

programming)

แบบวังจัรป7ด (do-while) ทึ/าข้ณะเป)นัจัร�ง ทึดสอบก-อนัทึ/าDo while a < 10

a=a+1

truefalse วังจัรจัะทึดสอบค-า a ก-อนั ถุ�ามู�ค-านั�อยกวั-า 10 จั�งจัะทึ/างานั

Page 14: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure

programming)

แบบวังจัรป7ด (do-until) ทึ/าข้ณะเป)นัเทึ0จั ตรวัจัสอบหล�งทึ/า

Do until a > 10

a=a+1

true false

วังจัรจัะเร�%มูทึ/างานัทึ�นัทึ�ไมู-วั-า a จัะมู�ค-าเทึ-าใด เมู�%อทึ/าเสร0จัจั�งจัะตรวัจัสอบค-า a ถุ�าย�งไมู-มูากกวั-า 10 ก0จัะกล�บไปทึ/าใหมู- จันักวั-าค-าจัะมูากกวั-า 10 จัร�ง

Page 15: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure

programming)

แบบช�ดการต�ดส�นัใจั (case)case a

ค/าส�%ง ก ค/าส�%ง งค/าส�%ง คค/าส�%ง ข้=1 =2 =3 otherwise

ค/าส�%งนั�1จัะคล�าย ค/าส�%ง if ซึ่�อนัก�นัหลายคร�1ง (nested if)

Page 16: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูร�ปแบบข้องโปรแกรมู

Top-down designเป)นัล�กษณะเข้�ยนัโปรแกรมูจัากบนัลงล-าง ไมู-

ย�อนักล�บไปกล�บมูา Sub program/sub routine

กรณ�ทึ�ต�องทึ/าช�ดค/าส�%งบางช�ดซึ่/1า ๆ ก�นัจัากเง�%อนัไข้หลาย ๆ แห-ง ให�ยกช�ดค/าส�%งนั�1นัไปเข้�ยนัเป)นั subprogram หร�อ sub routine แล�วัเร�ยกใช� หากมู�การแก�ไข้ช�ดค/าส�%งนั�1นัก0จัะได�ทึ/าการแก�ไข้เพ�ยงช�ดเด�ยวั

Page 17: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการประเมู�นัผลประส�ทึธิ�ภาพข้องโปรแกรมู

การใช�เนั�1อทึ�%ในัหนั-วัยควัามูจั/าหล�ก กรณ�ทึ�%ใช�ต�วัแปรค-อนัข้�างมูาก หร�อสร�างข้นัาด array ใหญ่-

เก�นัควัามูจั/าเป)นั หร�อใช�อ�ลกอร�ทึ�มูทึ�%ไมู-ถุ�กต�อง จัะทึ/าให�โปรแกรมูมู�ข้นัาดใหญ่- และเส�ยเวัลาในัการประมูวัลผล

ควัามูเร0วัในัการประมูวัลผลอ�ลกอร�ทึ�มูข้องโปรแกรมู การหาค-าในั array ถุ�าไมู-มู�การค/านั�งถุ�งวั�ธิ�การหาทึ�%ด�ทึ�%ส�ด จัะ

ทึ/าให�การ “วันัซึ่/1า” ข้องวังจัรมูากเก�นัควัามูจั/าเป)นั ทึ/าให�เส�ยเวัลาในัการประมูวัลผล

การประเมู�นัควัามูเร0วัข้องอ�ลกอร�ทึ�มูในัร�ปข้องฟั4งช�%นั big-O

Page 18: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า (ในัสายตา

ข้องนั�กเข้�ยนัโปรแกรมู) ร�ปแบบเร�ยงล/าด�บ (array) Order-lists ร�ปแบบพอยนั�เตอร� (pointer) Link-lists

Page 19: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า (ในัสายตา

ข้องนั�กเข้�ยนัโปรแกรมู)เนั�1อหา (content) หร�อค-าทึ�%เก0บอย�-ในัต/าแหนั-งนั�1นั ๆ5000

5001

5002

5003

address

Page 20: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า (ในัสายตา

ข้องนั�กเข้�ยนัโปรแกรมู) ร�ปแบบเร�ยงล/าด�บ (array) Order-lists

การแทึนัแบบเร�ยงล/าด�บ (sequential) เป)นัล�กษณะแบบอะเรย�ทึ�%เร�ยงต-อเนั�%องก�นัไป แต-ละโหนัดมู� 1 ช-อง

เก0บข้�อมู�ลการแทึนัแบบใช�พ�อยนั�เตอร� (pointer)

เป)นัล�กษณะการเช�%อมูโหนัด แต-ละโหนัดจัะมู� 2 ช-อง ช-องแรกเก0บข้�อมู�ล ช-องทึ�%สองเก0บพ�อยนั�เตอร�หร�อแอดเดรสข้องโหนัดถุ�ดไป โดยจัะต�องมู�อ�กโหนัดหนั�%งเร�ยก headnode เพ�%อเก0บแอดเดรสข้องค-าแรกในัล�สต�นั�1นั ๆ

Page 21: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า

ร�ปแบบเร�ยงล/าด�บ (array) Order-listsการแทึนัแบบเร�ยงล/าด�บ (sequential)

January February March December

Mon(1) Mon(2) Mon(3) Mon(12)

Page 22: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มู การจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า

ร�ปแบบเร�ยงล/าด�บ (array) Order-lists การแทึนัแบบใช�พ�อยนั�เตอร� (pointer)

ข้-าวัสาร พ�อยนั�เตอร� February พ�อยนั�

เตอร�January พ�อยนั�เตอร�

March พ�อยนั�เตอร�

head

Head-node

December

Page 23: Data Structure and Algorithm

Data Structure and Algorithm

โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มู การจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า (ในัสายตาข้อง

นั�กเข้�ยนัโปรแกรมู) ร�ปแบบ Link-lists

เป)นัการสร�างการ link โดยผ��ใช�เอง โดยก/าหนัดเองทึ�1งข้�อมู�ล และการ link

ข้�อมู�ลแต-ละรายการจัะมู� link บอกถุ�งต/าแหนั-งข้�อมู�ลถุ�ดไป 4 8 7 9 3 5 ////

6 4 2 ^ 1 3 5

Data(7)

Link(7)

1 2 3 4 5 6 7

Head-node