โครงสร้างข้อมูลและอัลกอริทึม (Data Structure and Algorithm)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เป็นหลักสำคัญในการนำเสนอเนื้อหา ของบทเรียนคอมพิวเตอร์ช่วยสอนก็คือ ควร นำเสนอภาพที่เกี่ยวข้องกับเนื้อหา ประกอบ กับคำอธิบายสั้นๆ ง่ายๆ แต่ได้ใจความ การใช้ภาพประกอบจะทำให้ผู้เรียน.
Advertisements

ผู้วิจัย : นางสาวสุรีรัตน์ ขันคำ
เทคโนโลยีสารสนเทศและการสื่อสาร ช่วยประหยัดค่าใช้จ่าย จัดทำโดย ด. ช. ธนันทร ดอกเกี๋ยง ม.1/2 เลขที่ 8 ด. ญ. เกศกมล ใจปินตา ม.1/2 เลขที่ 10 เสนอ อาจารย์ อรอุมา.
คอมพิวเตอร์ช่วยสอน (CAI)
Entity-Relationship Model E-R Model
Chapter 10 Arrays Dept of Computer Engineering Khon Kaen University.
การเขียนโปรแกรม ภาษาซีเบื้องต้น โดย คุณครูปวีณา แนววงศ์
การใช้กราฟิก Cycle Graph
โครงสร้างข้อมูลและขั้นตอนวิธี
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
นางนุชจรินทร์ แก้ววงวาล วิทยาลัยเทคโนโลยีโปลิเทคนิคลานนา เชียงใหม่
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
การพัฒนาผลสัมฤทธิ์ทางการเรียน วิชา อุตสาหกรรมการท่องเที่ยว
การเขียนผังงานเบื้องต้น (Flow chart)
หน่วยที่ 6 แถวลำดับ (Array)
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
CSIT-URU อ. กฤษณ์ ชัยวัณณคุปต์ Mathematics and Computer Program, URU บทที่ 1 ความรู้ทั่วไปเกี่ยวกับ เทคโนโลยีสารสนเทศ Introduction to Information.
นาย สรวิศ เตธัญญวรากูล ปวช.3/2 นาย ศิวกร มาลี ปวช.3/2.
INTRODUCE SUBJECT สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
การพัฒนาผลสัมฤทธิ์ทางการเรียน วิชาการใช้โปรแกรมนำเสนอข้อมูล เรื่องการเชื่อมโยง ภาพนิ่ง ด้วยโปรแกรม Powerpoint2007 โดยใช้ สื่อคอมพิวเตอร์ช่วยสอน CAI ของนักเรียนระดับชั้น.
จัดทำโดย นางสาวพิจิตรา ปันเต เลขที่ 18 นางสาวปิยธิดา อุตมา เลขที่ 19 ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน.
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
บทที่ 3 นักวิเคราะห์ระบบและการ วิเคราะห์ระบบ. 1. นักวิเคราะห์ระบบ (System Analysis) 1.1 ความหมายของนักวิเคราะห์ระบบ นักวิเคราะห์ระบบ (System Analysis:
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
ซอร์ฟแวร์ ( Software ). Microsoft excel Microsoft excel Microsoft power point.. Link Link.
คำสั่งควบคุมการทำงาน
Project Management by Gantt Chart & PERT Diagram
วิชาเทคโนโลยีสารสนเทศเพื่อชีวิต
การออกแบบและเทคโนโลยี
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การบริหารโครงการ Project Management
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
บทที่ 8 เงื่อนไขตัดสินใจ
ภาษาคอมพิวเตอร์ (Computer Language)
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
บทที่ ๒ เรื่องที่ ๑๐ การค้นคว้าหาความรู้ทาง อินเทอร์เน็ต
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
มหาวิทยาลัยราชภัฏนครปฐม
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
ภาคเรียนที่ ๒ ปีการศึกษา ๒๕๖๐ ผู้สอน : คุณครูภาคภูมิ คล้ายทอง
การบริหารโครงการซอฟต์แวร์
พื้นฐานการออกแบบ กราฟิก หมายถึง ศิลปะแขนงหนึ่งซึ่งใช้การสื่อความหมาย ด้วยเส้น สัญลักษณ์ รูปวาด ภาพถ่าย กราฟ แผนภูมิ การ์ตูน ฯลฯ เพื่อให้สามารถสื่อความหมายของข้อมูลได้ถูกต้องตรง.
Data storage II Introduction to Computer Science ( )
การประชุมเชิงปฏิบัติการพัฒนาศักยภาพบุคลากรทางการศึกษาด้านการสอบด้วยคอมพิวเตอร์ (Computer-based Assessment) การรู้เรื่องการอ่าน ด้านคณิตศาสตร์และด้านวิทยาศาสตร์
บทที่ 6 แนวคิดเทคโนโลยีเสมือนจริง
บริษัท พัฒนาวิชาการ (2535) จำกัด
โดย นายอนุชา ศรีเริงหล้า นักอุตุนิยมวิทยาปฏิบัติการ
บทที่7 ทฤษฎีกราฟเบื้องต้น
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
การวัดและประเมินผลด้านพุทธิพิสัย (ตามลำดับขั้นการเรียนรู้ของ Benjamin Bloom) รศ. บรรพต พรประเสริฐ.
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
บทที่ 7 การประมวลผลอาร์เรย์
สถาปัตยกรรมของฐานข้อมูล
งานนำเสนอสำหรับโครงการ นิทรรศการวิทยาศาสตร์
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Computer Game Programming
การวัดและประเมินผลด้านพุทธิพิสัย (ตามลำดับขั้นการเรียนรู้ของ Benjamin Bloom) รศ. บรรพต พรประเสริฐ.
Chapter 3 : Array.
รูปนิสิต บทคัดย่อ ผลการทดลอง วัตถุประสงค์ วิธีการที่นำเสนอ บทนำ
บทที่ 5 พัลส์เทคนิค
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

โครงสร้างข้อมูลและอัลกอริทึม (Data Structure and Algorithm) รหัส 05-411-206 หน่วยกิต 3(3-0-6) วิชาบังคับก่อน : 05-411-203 การเขียนโปรแกรมคอมพิวเตอร์ 1 คำอธิบายรายวิชา รูปแบบของโครงสร้างข้อมูล อาร์เรย์ สแตก คิว ลิงลิสท์ ไบนารีทรี อัลกอริทึมพื้นฐานที่ใช้กับโครงสร้างข้อมูล เทคนิคการเรียงลำดับข้อมูลในหน่วยความจำหลักแบบต่าง ๆ การพัฒนาอัลกอริทึมและการวิเคราะห์อัลกอริทึมอย่างง่าย และการเขียนโปรแกรมเพื่อจัดการกับโครงสร้างแบบต่าง ๆ

ผู้สอน ผศ.กรกนก โภคสวัสดิ์ การเก็บคะแนน กลางภาค 35 คะแนน ผู้สอน ผศ.กรกนก โภคสวัสดิ์ การเก็บคะแนน กลางภาค 35 คะแนน ปลายภาค 35 คะแนน งานที่มอบหมาย 20 คะแนน ประกอบด้วยงานแบบฝึกหัด 10 คะแนน งานรูปเล่มรายงาน 10 คะแนน จิตพิสัย 10 คะแนน 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

Chapter 1 : แนวคิดเกี่ยวกับอัลกอริทึม อัลกอริทึม หมายถึง ชุดของขั้นตอนการกระทำที่มีลำดับ มีความชัดเจน สามารถทำงานได้จริง และมีจุดเริ่มต้น และ จุดสิ้นสุดการทำงาน อัลกอริทึมหนึ่งๆ สามารถสื่อออกมาด้วยภาษาใดๆ ก็ได้ เช่น ภาษาพูด (Natural Language) เช่น ภาษาไทย อังกฤษ จีน ญี่ปุ่น เกาหลีฯลฯ ภาษาโปรแกรม (Programming Language) เช่น C/C++, Java ฯลฯ Week 02a - Introduction to Data Structure II

แนวคิดเกี่ยวกับอัลกอริทึม คุณสมบัติของอัลกอริทึม ประกอบด้วยชุดของขั้นตอน ที่มีลำดับการทำงานชัดเจน มีโครงสร้างที่ดีและสมบูรณ์ อัลกอริทึมประกอบด้วยขั้นตอนที่สามารถทำงานได้จริง เพื่อให้อัลกอริทึมนั้นๆ ทำงานได้ อัลกอริทึมประกอบด้วยขั้นตอนที่ชัดเจน ไม่คลุมเครือ อัลกอริทึมมีจุดเริ่มต้น และ จุดสิ้นสุด ในการทำงานที่ชัดเจน 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

แนวคิดเกี่ยวกับอัลกอริทึม โปรแกรมคอมพิวเตอร์ส่วนใหญ่ล้วนสร้างขึ้นมาจากอัลกอริทึม ยกเว้นโปรแกรมประยุกต์ที่เกิดขึ้นจากปัญญาประดิษฐ์ ซึ่งไม่มีอัลกอริทึมที่ชัดเจนแต่อาศัยการเรียนรู้จากข้อมูลอินพุต ที่เคยได้รับ สำหรับอัลกอริทึมที่ดีจะต้องไม่ซับซ้อน มีจำนวนขั้นตอนชัดเจน มีขั้นตอนในการทำงานน้อยที่สุดเท่าที่จะเป็นไปได้ และมีประสิทธิภาพในการทำงานสูง 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

การแสดงอัลกอริทึม Flowchart ซึ่งปกติแล้วมักถูกใช้ในการแสดงกระบวนการทำงานต่างๆ ผ่านภาพกราฟิก ประกอบด้วยภาพสัญลักษณ์ ที่ความหมายเฉพาะตามจุดประสงค์การใช้งาน และมีลูกศรเป็นตัวแสดงทิศทาง เริ่มต้น/สิ้นสุด ทำงานปกติ ตัดสินใจ อินพุท/เอาพุท 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

การแสดงอัลกอริทึม Flowchart ของอัลกอริทึมที่ใช้ในการคำนวณเกรด ซึ่งพิจารณาจากคะแนน 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

การแสดงอัลกอริทึม Pseudocode เป็นภาษาคอมพิวเตอร์ที่ไม่เป็นทางการ สมมติขึ้นเพื่อใช้ในการอธิบายและพัฒนาอัลกอริทึม Pseudocode มีลักษณะคล้ายกับภาษาอังกฤษที่ใช้เป็นภาษาพูดทั่วไป ผสมกับภาษาคอมพิวเตอร์ Pseudocode ไม่สามารถกระทำการ (Execute) บนเครื่องคอมพิวเตอร์ได้ การใช้งานต้องแปลงเป็นภาษาคอมพิวเตอร์ให้หมดเสียก่อน 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

การแสดงอัลกอริทึม Pseudocode แสดงอัลกอริทึมของการ Search ข้อมูลใน List Algorithm procedure SearchList(list, value) list – the list on which to perform the search value – target value of the search firstEntry – the first entry in the list testEntry – current entry being tested Begin if (list is Empty) (Show error search failure) else { testEntry = firstEntry While (value>testEntry and there are some more entry to be considered) Do (Select next entry as testEntry) if (value equals testEntry) (Show value is found in the List) else (Show value is not found) } End Pseudocode แสดงอัลกอริทึมของการ Search ข้อมูลใน List 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

โครงสร้างข้อมูล โครงสร้างข้อมูล หมายถึง รูปแบบการจัดเรียงข้อมูลในหน่วยความจำของระบบคอมพิวเตอร์ หน่วยความจำในที่นี้หมายรวมถึง หน่วยความจำหลัก (Memory) และ หน่วยความจำสำรอง (Harddisk) เพื่อให้ผู้ใช้จัดการข้อมูลในรูปแบบนามธรรม (Abstract Organization) แทนที่การจัดการข้อมูลในรูปแบบจริงที่เกิดขึ้นในคอมพิวเตอร์ 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

พื้นฐานของโครงสร้างข้อมูล โครงสร้างข้อมูลเป็นเพียงนามธรรมเท่านั้น เราต้องสามารถแยกระดับความเป็นนามธรรมของโครงสร้างข้อมูลได้ รวมไปถึงวิธีการอ้างอิงไปยังโครงสร้างข้อมูลเหล่านั้น เพื่อให้ง่ายต่อการศึกษาโครงสร้างข้อมูล เรามองหน่วยความจำหลักมีลักษณะดังนี้ จัดการหน่วยความจำให้เป็นลักษณะเซลล์เดี่ยว กำหนดให้เซลล์ของหน่วยความจำมีตำแหน่งที่อยู่ต่อเนื่องกันไป ให้มองว่าการจัดการบนหน่วยความจำเป็นการจัดการที่กระทำต่อเซลล์นั้น 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

พื้นฐานของโครงสร้างข้อมูล 0FFF 1000 1002 1003 1004 1005 1006 1007 Cell 0 Cell 1 Cell 3 Cell 4 ADT 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

ระดับความเป็นนามธรรมของข้อมูล 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

ระดับความเป็นนามธรรมของข้อมูล โครงสร้างข้อมูลระดับบนสุดประกอบด้วย Abstract Data Types (ADT) ประเภทต่างๆ เช่น ลิสต์ สแตก คิว ต้นไม้ ADT แต่ละอันอาจสร้างมาจากชนิดข้อมูล 2 ประเภทได้แก่ ข้อมูลแถวลำดับ (Sequential Representation) ข้อมูลแบบเชื่อมโยง (Linked Representation) ข้อมูลแถวลำดับสร้างมาจากข้อมูลประเภทอาร์เรย์ ในขณะที่ข้อมูลแบบเชื่อมโยงสร้างมาจากตัวแปรอ้างอิง 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

ระดับความเป็นนามธรรมของข้อมูล โครงสร้างข้อมูลแบบคงที่ โครงสร้างข้อมูลคงที่ไม่สามารถเปลี่ยนขนาดและรูปร่างของโครงสร้างข้อมูลได้ โครงสร้างข้อมูลประเภทนี้ส่วนใหญ่ใช้อาร์เรย์ในการสร้าง โครงสร้างข้อมูลแบบพลวัติ โครงสร้างไม่คงที่ขนาดและรูปร่างของโครงสร้างข้อมูลสามารถเปลี่ยนแปลงได้ โครงสร้างข้อมูลประเภทนี้ส่วนใหญ่ใช้ตัวแปรอ้างอิงในการสร้าง 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

สรุปแนวคิดของอัลกอริทึม และโครงสร้างข้อมูล อัลกอริทึม หมายถึง ขั้นตอนวิธี กระบวนการในการทำงานหรือแก้ปัญหาอย่างใดอย่างหนึ่ง อัลกอริทึมมีความเป็นนามธรรม ดังนั้นต้องนำเสนอผ่านตัวแทน เช่น ผังงาน หรือ รหัสเทียม โครงสร้างข้อมูลเป็นรูปแบบข้อมูลที่ถูกจัดเก็บอยู่ในหน่วยความจำของคอมพิวเตอร์ เพื่อให้การจัดการง่ายและมีประสิทธิภาพ 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II

การบ้าน Week 01 ให้นักศึกษาเขียนอัลกอริทึมในการตัดสินใจเรียนต่อ ให้นักศึกษาเขียน Flowchart ในการหาค่าที่น้อยที่สุดในจำนวน 3 ค่า ให้นักศึกษาเขียนอัลกอริทึมในการคำนวณภาษีมูลค่าเพิ่ม 7% ให้นักศึกษาหาโจทย์การเขียนโปรแกรม และอัลกอริทึม และเขียนเป็น Flowchart จำนวน 100 ข้อ (ส่งก่อนสอบกลางภาค) 25 June 2006 12.00 AM Week 02a - Introduction to Data Structure II