วิชาโครงสรา งขอมูลและอัลกอริทึม
หนวยที่ 1 รูจักกบั โครงสรางขอมลู และอลั กอรทิ มึ โครงสรา งขอมูล (DATA STRUCTURE) โครงสรางหรือลกั ษณะเฉพาะของชดุ ขอมลู ทใี่ ชใ นระบบคอมพวิ เตอร เกดิ จากการนาํ ชนดิ ขอมลู ตางๆ มารวมกันจนกลายเปน โครงสรา ง การจดั การขอมูลในหนวยความจําภายในเครื่องคอมพวิ เตอร ใหมีความสัมพันธก นั ภายใน กลมุ ขอ มลู ใหม ีรปู แบบหรือขอ กาํ หนดท่ีชดั เจนในการกาํ หนดคณุ สมบัติ เพือ่ สรา งความสมั พันธ ภายในกลมุ ขอ มูล ซึ่งมอี ยหู ลายรูปแบบ เชน ARRAY, LINK-LIST, STACK, QUEUE, TREE เปนตน
ประเภทของโครงสรางขอ มลู แบง ออกเปน 2 ประเภท 1. โครงสรางขอมลู เชงิ เสน (LINEAR DATA STRUCTURE) 2. โครงสรา งขอ มูลไมเ ชิงเสน (NON-LINEAR DATA STRUCTURE) 1. โครงสรางขอ มูลเชิงเสน เปน รปู แบบโครงสรา งของการจัดเกบ็ ขอมูล ที่มกี ารจดั เรียงขอมูล ใหต อเน่อื งกนั และเขา ถึงขอมลู ตามลําดับ เชน โครงสรางขอ มลู แบบ LINKED LIST, STACK และQUEUE
2. โครงสรางขอมลู ไมเชงิ เสน เปน รูปแบบโครงสรางของการจัดเก็บขอมูล ทีม่ กี ารจดั เรยี ง ขอ มูลไมต อ เน่ืองกันใชวธิ กี ารเขา ถงึ ขอมลู ดวยการระบุตาํ แหนง เชนโครงสรางขอ มลู แบบ TREE และ GRAPH เปนตน ประโยชนของโครงสรา งขอมลู และอลั กอรทิ ึม ★ เพื่อทําหนาทจ่ี ัดการกบั ขอมูลซง่ึ จะชว ยใหกระบวนการทาํ งานภายในระบบคอมพวิ เตอร เปนไปอยางรวดเรว็ และมีประสทิ ธิภาพมากยิ่งขึน้ ★ การจดั เกบ็ ขอ มูลจาํ นวนในรูปแบบของโครงสรา งขอมลู ทเี่ หมาะสม จะทาํ ใหสามารถนาํ ขอ มูลไปใชไ ดอ ยางมปี ระสทิ ธิภาพ โดยใชท รัพยากรท่มี ีไดอยางคมุ คาทส่ี ุด (ใชพน้ื ท่หี นวย ความจาํ นอยท่สี ดุ ) อกี ทัง้ ยงั ใชเวลาในการประมวลผลนอ ยท่ีสดุ ดว ย สงผลใหคอมพิวเตอร ทาํ งานเรว็ ขนึ้ นั่นเอง ★ การอา นขอ มลู เพ่ือใชใ นการประมวลผล คอมพวิ เตอรจะอา นขอมูลมาเกบ็ ในหนว ยความ จาํ หลกั (หนว ยความจําแรม) และในกรณที ีข่ อ มลู มีขนาดมากกวาขนาดของหนว ยความจาํ คอมพิวเตอรจ ะใชโ ครงสรา งขอ มูลและอัลกอริทึมเขา มาชวยในการจัดการกบั ขอ มลู เหลา นัน้ เพ่อื ใหสามารถจัดสรรหนวยความจําไดอยางเหมาะสมและสามารถทํางานไดอยา งตอ เน่อื ง ★ โครงสรา งแตละชนิด มคี วามสามารถในการจัดการกับขอ มูลทแ่ี ตกตา งกนั
อัลกอริทมึ (ALGORITHM) เปนวิธีการแสดงลําดบั ข้นั ตอนในการทาํ งานหรอื แกไ ขปญหาอยางใดอยา งหนง่ึ เชนการ กาํ หนดขั้นตอนเพ่ือแกปญ หาการจัดเรยี งเอกสารในแฟม ขอมลู หรือการกําหนดอลั กอรทิ มึ ในการ คน หาขอ มูลในแฟม ขอ มูลทงั้ หมด เปน ตน อลั กอรทิ มึ ท่ีดีควรมคี ุณสมบัติ ดังน ้ี 1. มลี ําดบั ข้ันตอนทํางาน กอน-หลัง ชดั เจน 2. เขา ใจงา ยและไมกํากวม 3. สามารถประมวลผลการทํางานดวยคอมพิวเตอรได 4. การทาํ งานของอัลกอริทึมจะตอ งสน้ิ สุด หลังจากดําเนินงานตามระยะเวลาที่ กําหนด
ขน้ั ตอนในการแกปญหา 1.ศึกษาปญหา ❏ ทําความเขา ใจถอยคําตา ง ๆ ในปญ หา ❏ แยกแยะใหออกวาสิง่ ทีต่ องการหาคืออะไร ❏ ขอมลู และเงื่อนไขกําหนดใหมอี ะไรบา ง เพยี งพอท่จี ะหาคาํ ตอบไดหรือไม 2. วิเคราะหป ญหา 1. INPUT 2. OUTPUT 3. PROCESS 3. ออกแบบอลั กอริทึม 1. ภาษาเขียน 2. ผังงาน 3. รหสั เทยี ม 4. วเิ คราะหอ ลั กอรทิ ึม 5. เขียนโปรแกรมคอมพวิ เตอร
กระบวนการทํางานของคอมพิวเตอร 1. ขัน้ ตอนการนําขอมูลเขา ---> INPUT 2. ข้ันตอนเกี่ยวกับการประมวลผล ---> PROCESS 3. ข้นั ตอนการนาํ ขอ มูลออก ---> OUTPUT \\
ผงั งาน (FLOWCHART) เปน เครื่องมอื ทใ่ี ชออกแบบระบบงานดวยสญั ลักษณ ชวยใหม ีโครงสรา งของระบบงานที่เปน ลาํ ดับขั้นตอนและเขาใจไดง า ย แบง ออกเปน 2 ประเภท 1. ผังงานระบบ (SYSTEM FLOWCHART) 2. ผังงานโปรแกรม (PROGRAM FLOWCHART) สัญลกั ษณในการเขียนผงั งาน
รหสั เทยี ม (PSEUDO CODE) ➢ใชอ ธบิ ายการทาํ งานของอลั กอรธิ ึม ทําใหไ มตองเขยี นอธบิ ายดวย CODE ➢ไมขึน้ กับภาษาคอมพวิ เตอรภาษาใดภาษาหนงึ่ อาจเปนภาษาไทยหรือภาษาอืน่ ก็ได แต การใชภ าษาองั กฤษจะสะดวกทีส่ ดุ ➢เปนคาํ สง่ั ทมี่ ีลักษณะการเขยี นใกลเคียงกับภาษาอังกฤษ แตมโี ครงสรา งเกอื บจะเปน ภาษา โปรแกรม ตัวอยา งการเขยี นรหสั เทยี ม
Search
Read the Text Version
- 1 - 9
Pages: