data structure and algorithm
DESCRIPTION
Data Structure and Algorithm. โครงสร้างข้อมูลและอัลกอริทึม. วัตถุประสงค์ หนังสืออ้างอิง แนวทางการเรียนการสอน และการวัดผล สอบกลางภาค 20 % ปลายภาค 50% โครงงาน 15% อื่น ๆ 15%. Ref: อสังเวียน สิทธิเวช. Data Structure and Algorithm โครงสร้างข้อมูลและอัลกอริทึม. - PowerPoint PPT PresentationTRANSCRIPT
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มู
วั�ตถุ�ประสงค� หนั�งส�ออ�างอ�ง แนัวัทึางการเร�ยนัการสอนั
และการวั�ดผล สอบกลางภาค 20% ปลายภาค
50% โครงงานั 15% อ�%นั ๆ 15%
Ref: อส�งเวั�ยนั ส�ทึธิ�เวัช
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูชนั�ดข้องข้�อมู�ล (Data Type)
ข้�อมู�ลเช�งเด�%ยวัเป)นัค�ณล�กษณะข้องข้�อมู�ลโดยตรง
ข้�อมู�ลเช�งโครงสร�างเป)นัล�กษณะข้องการจั�ดการกล�-มูข้�อมู�ล
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูข้�อมู�ลเช�งเด�%ยวั เป)นัล�กษณะข้องข้�อมู�ลโดยตรง ไมู-
สามูารถุแยกย-อยได�อ�ก จั/านัวันัเต0มู (Integer) จั/านัวันัจัร�ง (Real) อ�กข้ระ (Character) ตรรกะ (Logical) วั�นัทึ�% (Date) และอ�%นั ๆ ข้�1นัอย�-ก�บภาษาข้องโปรแกรมูทึ�%เข้�ยนั
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูข้�อมู�ลเช�งเด�%ยวั หมูายถุ�ง 3 ส�%ง
ค-าข้องข้�อมู�ล ต�วัเลข้ ต�วัอ�กษร ร�ปภาพ โครงสร�างข้องข้�อมู�ล ควัามูส�มูพ�นัธิ�ข้อง
ข้�อมู�ล การด/าเนั�นังานัข้องข้�อมู�ล
การก/าหนัดค-า (assignment) = การค/านัวัณ (arithmetic) +, -, *, / การเปร�ยบเทึ�ยบ (relational) =, <, >,
<>, <=,>= ฟั4งช�%นัทึ�%ใช�ได� (function) abs, sqrt,
round
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูข้�อมู�ลเช�งโครงสร�าง เป)นัโครงสร�างข้องกล�-มู
ข้�อมู�ลซึ่�%งประกอบจัากเซึ่ตข้องข้�อมู�ล (component) ซึ่�%งอาจัเป)นัข้�อมู�ลเช�งเด�%ยวั หร�อข้�อมู�ลเช�งโครงสร�างก0ได�
แถุวัล/าด�บ (Array) ระเบ�ยนั (Record) ไฟัล� (File)
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูวั�ธิ�การข้องข้�อมู�ลแบบค�ดย-อ (abstract
data type) ไมู-สนัใจัรายละเอ�ยดวั-าจัะมู�การแทึนัค-าอย-างไรในั
หนั-วัยควัามูจั/า (ignore its representation)
ไมู-สนัใจัวั-าคอมูพ�วัเตอร�จัะด/าเนั�นัการอย-างไรเพ�%อให�ได�ผลล�พทึ� (ignore its implementation)
ทึ/าให�เราสร�างข้�อมู�ลอย-างไรก0ได�ตามูจั�นัตนัาการข้องเรา สามูารถุเอาไปใช�ได�ทึ�นัทึ�
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูโครงสร�างข้องข้�อมู�ล แสดงถุ�งควัามูส�มูพ�นัธิ�
ข้องข้�อมู�ล แบบเซึ่ต (set) แบบเช�งเส�นั (linear – one to one) แบบล/าด�บช�1นั(tree/hierarchical – one to
many) แบบกราฟั (graph – many to many)
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูโครงสร�างข้องข้�อมู�ลแบบ set
โครงสร�างข้องข้�อมู�ลแบบเช�งเส�นั (linear-one to one)
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูโครงสร�างข้องข้�อมู�ลแบบล/าด�บช�1นั (one to
many)
โครงสร�างข้องข้�อมู�ลแบบกราฟั (many to many)
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure
programming)
แบบเร�ยงตามูล/าด�บ (Sequence) แบบมู�การต�ดส�นัใจั (if-then-else) แบบวังจัรป7ด (do-while, do-until) แบบช�ดการต�ดส�นัใจั (case)
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure
programming)
แบบเร�ยงตามูล/าด�บ (Sequence)
a=1
b=2
c=a+b
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure
programming)
แบบมู�การต�ดส�นัใจั (if-then-else)
If a=1
c=a+b c=b-a
then else
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure
programming)
แบบวังจัรป7ด (do-while) ทึ/าข้ณะเป)นัจัร�ง ทึดสอบก-อนัทึ/าDo while a < 10
a=a+1
truefalse วังจัรจัะทึดสอบค-า a ก-อนั ถุ�ามู�ค-านั�อยกวั-า 10 จั�งจัะทึ/างานั
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 จัร�ง
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการเข้�ยนัโปรแกรมูแบบโครงสร�าง (Structure
programming)
แบบช�ดการต�ดส�นัใจั (case)case a
ค/าส�%ง ก ค/าส�%ง งค/าส�%ง คค/าส�%ง ข้=1 =2 =3 otherwise
ค/าส�%งนั�1จัะคล�าย ค/าส�%ง if ซึ่�อนัก�นัหลายคร�1ง (nested if)
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูร�ปแบบข้องโปรแกรมู
Top-down designเป)นัล�กษณะเข้�ยนัโปรแกรมูจัากบนัลงล-าง ไมู-
ย�อนักล�บไปกล�บมูา Sub program/sub routine
กรณ�ทึ�ต�องทึ/าช�ดค/าส�%งบางช�ดซึ่/1า ๆ ก�นัจัากเง�%อนัไข้หลาย ๆ แห-ง ให�ยกช�ดค/าส�%งนั�1นัไปเข้�ยนัเป)นั subprogram หร�อ sub routine แล�วัเร�ยกใช� หากมู�การแก�ไข้ช�ดค/าส�%งนั�1นัก0จัะได�ทึ/าการแก�ไข้เพ�ยงช�ดเด�ยวั
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการประเมู�นัผลประส�ทึธิ�ภาพข้องโปรแกรมู
การใช�เนั�1อทึ�%ในัหนั-วัยควัามูจั/าหล�ก กรณ�ทึ�%ใช�ต�วัแปรค-อนัข้�างมูาก หร�อสร�างข้นัาด array ใหญ่-
เก�นัควัามูจั/าเป)นั หร�อใช�อ�ลกอร�ทึ�มูทึ�%ไมู-ถุ�กต�อง จัะทึ/าให�โปรแกรมูมู�ข้นัาดใหญ่- และเส�ยเวัลาในัการประมูวัลผล
ควัามูเร0วัในัการประมูวัลผลอ�ลกอร�ทึ�มูข้องโปรแกรมู การหาค-าในั array ถุ�าไมู-มู�การค/านั�งถุ�งวั�ธิ�การหาทึ�%ด�ทึ�%ส�ด จัะ
ทึ/าให�การ “วันัซึ่/1า” ข้องวังจัรมูากเก�นัควัามูจั/าเป)นั ทึ/าให�เส�ยเวัลาในัการประมูวัลผล
การประเมู�นัควัามูเร0วัข้องอ�ลกอร�ทึ�มูในัร�ปข้องฟั4งช�%นั big-O
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า (ในัสายตา
ข้องนั�กเข้�ยนัโปรแกรมู) ร�ปแบบเร�ยงล/าด�บ (array) Order-lists ร�ปแบบพอยนั�เตอร� (pointer) Link-lists
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า (ในัสายตา
ข้องนั�กเข้�ยนัโปรแกรมู)เนั�1อหา (content) หร�อค-าทึ�%เก0บอย�-ในัต/าแหนั-งนั�1นั ๆ5000
5001
5002
5003
address
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า (ในัสายตา
ข้องนั�กเข้�ยนัโปรแกรมู) ร�ปแบบเร�ยงล/าด�บ (array) Order-lists
การแทึนัแบบเร�ยงล/าด�บ (sequential) เป)นัล�กษณะแบบอะเรย�ทึ�%เร�ยงต-อเนั�%องก�นัไป แต-ละโหนัดมู� 1 ช-อง
เก0บข้�อมู�ลการแทึนัแบบใช�พ�อยนั�เตอร� (pointer)
เป)นัล�กษณะการเช�%อมูโหนัด แต-ละโหนัดจัะมู� 2 ช-อง ช-องแรกเก0บข้�อมู�ล ช-องทึ�%สองเก0บพ�อยนั�เตอร�หร�อแอดเดรสข้องโหนัดถุ�ดไป โดยจัะต�องมู�อ�กโหนัดหนั�%งเร�ยก headnode เพ�%อเก0บแอดเดรสข้องค-าแรกในัล�สต�นั�1นั ๆ
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มูการจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า
ร�ปแบบเร�ยงล/าด�บ (array) Order-listsการแทึนัแบบเร�ยงล/าด�บ (sequential)
January February March December
Mon(1) Mon(2) Mon(3) Mon(12)
Data Structure and Algorithm
โครงสร�างข้�อมู�ลและอ�ลกอร�ทึ�มู การจั�ดสรรพ�1นัทึ�%ในัหนั-วัยควัามูจั/า
ร�ปแบบเร�ยงล/าด�บ (array) Order-lists การแทึนัแบบใช�พ�อยนั�เตอร� (pointer)
ข้-าวัสาร พ�อยนั�เตอร� February พ�อยนั�
เตอร�January พ�อยนั�เตอร�
March พ�อยนั�เตอร�
head
Head-node
December
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