ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยSugunya Palathai ได้เปลี่ยน 9 ปีที่แล้ว
1
โครงสร้างข้อมูลและอัลกอริทึม (Data Structure and Algorithm)
รหัส หน่วยกิต 3(3-0-6) วิชาบังคับก่อน : การเขียนโปรแกรมคอมพิวเตอร์ 1 คำอธิบายรายวิชา รูปแบบของโครงสร้างข้อมูล อาร์เรย์ สแตก คิว ลิงลิสท์ ไบนารีทรี อัลกอริทึมพื้นฐานที่ใช้กับโครงสร้างข้อมูล เทคนิคการเรียงลำดับข้อมูลในหน่วยความจำหลักแบบต่าง ๆ การพัฒนาอัลกอริทึมและการวิเคราะห์อัลกอริทึมอย่างง่าย และการเขียนโปรแกรมเพื่อจัดการกับโครงสร้างแบบต่าง ๆ
2
ผู้สอน ผศ.กรกนก โภคสวัสดิ์ การเก็บคะแนน กลางภาค 35 คะแนน
ผู้สอน ผศ.กรกนก โภคสวัสดิ์ การเก็บคะแนน กลางภาค คะแนน ปลายภาค คะแนน งานที่มอบหมาย คะแนน ประกอบด้วยงานแบบฝึกหัด 10 คะแนน งานรูปเล่มรายงาน คะแนน จิตพิสัย คะแนน 25 June AM Week 02a - Introduction to Data Structure II
3
Chapter 1 : แนวคิดเกี่ยวกับอัลกอริทึม
อัลกอริทึม หมายถึง ชุดของขั้นตอนการกระทำที่มีลำดับ มีความชัดเจน สามารถทำงานได้จริง และมีจุดเริ่มต้น และ จุดสิ้นสุดการทำงาน อัลกอริทึมหนึ่งๆ สามารถสื่อออกมาด้วยภาษาใดๆ ก็ได้ เช่น ภาษาพูด (Natural Language) เช่น ภาษาไทย อังกฤษ จีน ญี่ปุ่น เกาหลีฯลฯ ภาษาโปรแกรม (Programming Language) เช่น C/C++, Java ฯลฯ Week 02a - Introduction to Data Structure II
4
แนวคิดเกี่ยวกับอัลกอริทึม
คุณสมบัติของอัลกอริทึม ประกอบด้วยชุดของขั้นตอน ที่มีลำดับการทำงานชัดเจน มีโครงสร้างที่ดีและสมบูรณ์ อัลกอริทึมประกอบด้วยขั้นตอนที่สามารถทำงานได้จริง เพื่อให้อัลกอริทึมนั้นๆ ทำงานได้ อัลกอริทึมประกอบด้วยขั้นตอนที่ชัดเจน ไม่คลุมเครือ อัลกอริทึมมีจุดเริ่มต้น และ จุดสิ้นสุด ในการทำงานที่ชัดเจน 25 June AM Week 02a - Introduction to Data Structure II
5
แนวคิดเกี่ยวกับอัลกอริทึม
โปรแกรมคอมพิวเตอร์ส่วนใหญ่ล้วนสร้างขึ้นมาจากอัลกอริทึม ยกเว้นโปรแกรมประยุกต์ที่เกิดขึ้นจากปัญญาประดิษฐ์ ซึ่งไม่มีอัลกอริทึมที่ชัดเจนแต่อาศัยการเรียนรู้จากข้อมูลอินพุต ที่เคยได้รับ สำหรับอัลกอริทึมที่ดีจะต้องไม่ซับซ้อน มีจำนวนขั้นตอนชัดเจน มีขั้นตอนในการทำงานน้อยที่สุดเท่าที่จะเป็นไปได้ และมีประสิทธิภาพในการทำงานสูง 25 June AM Week 02a - Introduction to Data Structure II
6
การแสดงอัลกอริทึม Flowchart ซึ่งปกติแล้วมักถูกใช้ในการแสดงกระบวนการทำงานต่างๆ ผ่านภาพกราฟิก ประกอบด้วยภาพสัญลักษณ์ ที่ความหมายเฉพาะตามจุดประสงค์การใช้งาน และมีลูกศรเป็นตัวแสดงทิศทาง เริ่มต้น/สิ้นสุด ทำงานปกติ ตัดสินใจ อินพุท/เอาพุท 25 June AM Week 02a - Introduction to Data Structure II
7
การแสดงอัลกอริทึม Flowchart ของอัลกอริทึมที่ใช้ในการคำนวณเกรด ซึ่งพิจารณาจากคะแนน 25 June AM Week 02a - Introduction to Data Structure II
8
การแสดงอัลกอริทึม Pseudocode เป็นภาษาคอมพิวเตอร์ที่ไม่เป็นทางการ สมมติขึ้นเพื่อใช้ในการอธิบายและพัฒนาอัลกอริทึม Pseudocode มีลักษณะคล้ายกับภาษาอังกฤษที่ใช้เป็นภาษาพูดทั่วไป ผสมกับภาษาคอมพิวเตอร์ Pseudocode ไม่สามารถกระทำการ (Execute) บนเครื่องคอมพิวเตอร์ได้ การใช้งานต้องแปลงเป็นภาษาคอมพิวเตอร์ให้หมดเสียก่อน 25 June AM Week 02a - Introduction to Data Structure II
9
การแสดงอัลกอริทึม 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 AM Week 02a - Introduction to Data Structure II
10
โครงสร้างข้อมูล โครงสร้างข้อมูล หมายถึง รูปแบบการจัดเรียงข้อมูลในหน่วยความจำของระบบคอมพิวเตอร์ หน่วยความจำในที่นี้หมายรวมถึง หน่วยความจำหลัก (Memory) และ หน่วยความจำสำรอง (Harddisk) เพื่อให้ผู้ใช้จัดการข้อมูลในรูปแบบนามธรรม (Abstract Organization) แทนที่การจัดการข้อมูลในรูปแบบจริงที่เกิดขึ้นในคอมพิวเตอร์ 25 June AM Week 02a - Introduction to Data Structure II
11
พื้นฐานของโครงสร้างข้อมูล
โครงสร้างข้อมูลเป็นเพียงนามธรรมเท่านั้น เราต้องสามารถแยกระดับความเป็นนามธรรมของโครงสร้างข้อมูลได้ รวมไปถึงวิธีการอ้างอิงไปยังโครงสร้างข้อมูลเหล่านั้น เพื่อให้ง่ายต่อการศึกษาโครงสร้างข้อมูล เรามองหน่วยความจำหลักมีลักษณะดังนี้ จัดการหน่วยความจำให้เป็นลักษณะเซลล์เดี่ยว กำหนดให้เซลล์ของหน่วยความจำมีตำแหน่งที่อยู่ต่อเนื่องกันไป ให้มองว่าการจัดการบนหน่วยความจำเป็นการจัดการที่กระทำต่อเซลล์นั้น 25 June AM Week 02a - Introduction to Data Structure II
12
พื้นฐานของโครงสร้างข้อมูล
0FFF 1000 1002 1003 1004 1005 1006 1007 Cell 0 Cell 1 Cell 3 Cell 4 ADT 25 June AM Week 02a - Introduction to Data Structure II
13
ระดับความเป็นนามธรรมของข้อมูล
25 June AM Week 02a - Introduction to Data Structure II
14
ระดับความเป็นนามธรรมของข้อมูล
โครงสร้างข้อมูลระดับบนสุดประกอบด้วย Abstract Data Types (ADT) ประเภทต่างๆ เช่น ลิสต์ สแตก คิว ต้นไม้ ADT แต่ละอันอาจสร้างมาจากชนิดข้อมูล 2 ประเภทได้แก่ ข้อมูลแถวลำดับ (Sequential Representation) ข้อมูลแบบเชื่อมโยง (Linked Representation) ข้อมูลแถวลำดับสร้างมาจากข้อมูลประเภทอาร์เรย์ ในขณะที่ข้อมูลแบบเชื่อมโยงสร้างมาจากตัวแปรอ้างอิง 25 June AM Week 02a - Introduction to Data Structure II
15
ระดับความเป็นนามธรรมของข้อมูล
โครงสร้างข้อมูลแบบคงที่ โครงสร้างข้อมูลคงที่ไม่สามารถเปลี่ยนขนาดและรูปร่างของโครงสร้างข้อมูลได้ โครงสร้างข้อมูลประเภทนี้ส่วนใหญ่ใช้อาร์เรย์ในการสร้าง โครงสร้างข้อมูลแบบพลวัติ โครงสร้างไม่คงที่ขนาดและรูปร่างของโครงสร้างข้อมูลสามารถเปลี่ยนแปลงได้ โครงสร้างข้อมูลประเภทนี้ส่วนใหญ่ใช้ตัวแปรอ้างอิงในการสร้าง 25 June AM Week 02a - Introduction to Data Structure II
16
สรุปแนวคิดของอัลกอริทึม และโครงสร้างข้อมูล
อัลกอริทึม หมายถึง ขั้นตอนวิธี กระบวนการในการทำงานหรือแก้ปัญหาอย่างใดอย่างหนึ่ง อัลกอริทึมมีความเป็นนามธรรม ดังนั้นต้องนำเสนอผ่านตัวแทน เช่น ผังงาน หรือ รหัสเทียม โครงสร้างข้อมูลเป็นรูปแบบข้อมูลที่ถูกจัดเก็บอยู่ในหน่วยความจำของคอมพิวเตอร์ เพื่อให้การจัดการง่ายและมีประสิทธิภาพ 25 June AM Week 02a - Introduction to Data Structure II
17
การบ้าน Week 01 ให้นักศึกษาเขียนอัลกอริทึมในการตัดสินใจเรียนต่อ
ให้นักศึกษาเขียน Flowchart ในการหาค่าที่น้อยที่สุดในจำนวน 3 ค่า ให้นักศึกษาเขียนอัลกอริทึมในการคำนวณภาษีมูลค่าเพิ่ม 7% ให้นักศึกษาหาโจทย์การเขียนโปรแกรม และอัลกอริทึม และเขียนเป็น Flowchart จำนวน 100 ข้อ (ส่งก่อนสอบกลางภาค) 25 June AM Week 02a - Introduction to Data Structure II
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.