ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยBaldric Gaines ได้เปลี่ยน 5 ปีที่แล้ว
1
โครงสร้างข้อมูลและขั้นตอนวิธี (Data Structure and Algorithms)
หัวเรื่อง dd/mm/yy โครงสร้างข้อมูลและขั้นตอนวิธี (Data Structure and Algorithms) ชื่อผู้บรรยาย
2
เรียนวิชานี้ไปทำไม ? เพื่อเรียนรู้วิธีการเก็บข้อมูลในคอมพิวเตอร์...
หัวเรื่อง dd/mm/yy เรียนวิชานี้ไปทำไม ? เพื่อเรียนรู้วิธีการเก็บข้อมูลในคอมพิวเตอร์... เพื่อเรียนรู้วิธีการเขียนโปรแกรม... เพื่อ... จะรู้ได้อย่างไรว่า โปรแกรมที่เขียนขึ้นนั้น มีประสิทธิภาพในการทำงาน ? เอาอะไรมาวัด... มาตรฐาน ? หรือใช้ค่าอะไร ? 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
3
โครงสร้างข้อมูลพื้นฐาน
หัวเรื่อง dd/mm/yy โครงสร้างข้อมูลพื้นฐาน โครงสร้างข้อมูล (Data Structure) คือ รูปแบบของการจัดระเบียบข้อมูล ซึ่งมีอยู่หลายรูปแบบ เช่น Field, Array, Tree, Link List ที่ได้จากการดำเนินการ ทางคณิตศาสตร์(Operation) เพื่อให้สามารถจัดการกับข้อมูล ที่ใช้กับคอมพิวเตอร์ได้ 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
4
โครงสร้างข้อมูลพื้นฐาน
หัวเรื่อง dd/mm/yy โครงสร้างข้อมูลพื้นฐาน โครงสร้างข้อมูล (Data Structure) คือ หน่วยข้อมูลย่อยๆ (Data Elements) ที่ถูกจัดวางในรูปแบบ ที่เหมาะสม แล้วกำหนดลักษณะความเชื่อมโยงทางตรรกะ เพื่อนำมาประยุกต์ใช้งานในโปรแกรม ซึ่งค่าแต่ละค่าอาจเป็นชนิดข้อมูลเชิงเดี่ยว หรือชนิดข้อมูลเชิงโครงสร้าง (“โครงสร้างข้อมูลและการวิเคราะห์อัลกิริทึมด้วยซี”, ผศ.สมจิตต์ ลิขิตถาวร) 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
5
พื้นฐานของโครงสร้างข้อมูลที่ใช้ในระบบคอมพิวเตอร์
หัวเรื่อง dd/mm/yy พื้นฐานของโครงสร้างข้อมูลที่ใช้ในระบบคอมพิวเตอร์ บิต (Bit) : Binary Digit รูปแบบของตัวเลขที่แทนค่าด้วยตัวเลข 0, 1 เทียบสถานะของการทำงานของคอมพิวเตอร์จะใช้แทนกระแสไฟฟ้า เปิด-ปิด (On-Off) ภายในหน่วยความจำของคอมพิวเตอร์ ตัวอักขระ (Character) อักขระ หรือ ไบต์ (Byte) เป็นรูปแบบของการแทนค่าบิตจำนวน 8 ตัว สามารถใช้แทนค่าได้ทั้ง ตัวเลข, ตัวอักษร, สัญลักษณ์, อักขระพิเศษ 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
6
พื้นฐานของโครงสร้างข้อมูลที่ใช้ในระบบคอมพิวเตอร์
หัวเรื่อง dd/mm/yy พื้นฐานของโครงสร้างข้อมูลที่ใช้ในระบบคอมพิวเตอร์ ฟิลด์ (Field) กลุ่มของอักขระที่รวมกันแล้วมีความหมายแทนเรื่องใดเรื่องหนึ่ง โดยส่วนใหญ่จะมีการจัดแบ่งเขตของการจัดข้อมูลแต่ละเรื่อง เช่น ฟิลด์ของ ชื่อ นามสกุล เพศ อายุ ระดับการศึกษา เรคอร์ด (Record) เป็นการรวมฟิลด์ ที่มีความสัมพันธ์กันจัดมารวมกัน เช่น เรคอร์ดข้อมูลนักศึกษา ประกอบไปด้วย ชื่อ นามสกุล เพศ อายุ ระดับการศึกษา 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
7
พื้นฐานของโครงสร้างข้อมูลที่ใช้ในระบบคอมพิวเตอร์
หัวเรื่อง dd/mm/yy พื้นฐานของโครงสร้างข้อมูลที่ใช้ในระบบคอมพิวเตอร์ ไฟล์ (File) เป็นรูปแบบของการรวมกลุ่มของ เรคอร์ดที่มีความสัมพันธ์กัน โดยแต่ละไฟล์จะมีข้อมูลของเรคอร์ดที่ไม่ซ้ำกัน ฐานข้อมูล (Database) เป็นการรวมไฟล์ข้อมูลที่มีความเกี่ยวเนื่องสัมพันธ์กัน เพื่อประโยชน์ในการเรียกใช้งานอย่างรวดเร็ว ลดความซ้ำซ้อนในการจัดเก็บข้อมูล 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
8
หัวเรื่อง dd/mm/yy 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
9
หัวเรื่อง dd/mm/yy Stack and Queue 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
10
หัวเรื่อง dd/mm/yy Tree 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
11
หัวเรื่อง dd/mm/yy Graph 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
12
List and Link-List 3/13/2020 หัวเรื่อง หัวเรื่อง dd/mm/yy
ชื่อผู้บรรยาย
13
การแทนที่ข้อมูลจำนวนเต็ม sign magnitude +(154)10 = (010011010)2
หัวเรื่อง dd/mm/yy การแทนที่ข้อมูลจำนวนเต็ม sign magnitude +(154)10 = ( )2 -(154)10 = ( )2 two complement เปลี่ยน 0 ให้เป็น 1 และเปลี่ยน 1 ให้เป็น 0 สำหรับเลขบวก แล้วบวก 1 เช่น +(154)10 = > = = -(154)10 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
14
การแทนที่ข้อมูลจำนวนจริง
หัวเรื่อง dd/mm/yy การแทนที่ข้อมูลจำนวนจริง ใช้หลักการของเลขฐาน 2 กับส่วนจำนวนเต็ม (mantissa) และส่วนทศนิยม (exponent) = = * 25 = * 2101 mantissa คือ และ exponent คือ 101 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
15
ตัวอย่างชนิดข้อมูลในภาษา Pascal
หัวเรื่อง dd/mm/yy ตัวอย่างชนิดข้อมูลในภาษา Pascal 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
16
ตัวอย่างชนิดข้อมูลในภาษา C#
หัวเรื่อง dd/mm/yy ตัวอย่างชนิดข้อมูลในภาษา C# Data type ขนาด ค่าของข้อมูล sbyte (System.SByte) 1 byte -128 ถึง 127 short (System.Int16) 2 bytes -32,768 ถึง 32,767 int (System.Int32) 4 bytes -2,147,483,648 ถึง 2,147,483,647 long (System.Int64) 8 bytes -263 ถึง (263 – 1) 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
17
ตัวอย่างชนิดข้อมูลในภาษา C#
หัวเรื่อง dd/mm/yy ตัวอย่างชนิดข้อมูลในภาษา C# Data type ขนาด ค่าของข้อมูล byte (System.Byte) 1 byte 0 ถึง 255 ushort (System.UInt16) 2 bytes 0 ถึง 65,535 uint (System.UInt32) 4 bytes 0 ถึง 4,294,967,295 ulong (System.UInt64) 8 bytes 0 ถึง 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
18
ประเภทของโครงสร้างข้อมูล
หัวเรื่อง dd/mm/yy ประเภทของโครงสร้างข้อมูล โครงสร้างข้อมูลแบบเซต (SET Data Structure) เป็นรูปแบบโครงสร้างที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กันเลย โครงสร้างข้อมูลเชิงเส้น (Linear Data Structure) เป็นรูปแบบโครงสร้างของการจัดเก็บข้อมูล ที่มีการจัดเรียงข้อมูลให้ต่อเนื่องกันและเข้าถึงข้อมูลตามลำดับ หรือ เป็นโครงสร้างที่มีความสัมพันธ์กับแบบหนึ่งต่อหนึ่ง สามารถระบุถึงข้อมูลตัวถัดไปได้ เช่น โครงสร้างข้อมูลแบบอาร์เรย์, สตริง, สแตก, และ คิว 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
19
ประเภทของโครงสร้างข้อมูล
หัวเรื่อง dd/mm/yy ประเภทของโครงสร้างข้อมูล โครงสร้างข้อมูลไม่เชิงเส้น (None Linear Data Structure) เป็นรูปแบบโครงสร้างของการจัดเก็บข้อมูล ที่มีการจัดเรียงข้อมูลแบบไม่ต่อเนื่องกัน ใช้วิธีการเข้าถึงข้อมูลด้วยการระบุตำแหน่ง หรือ เป็นโครงสร้างที่ข้อมูลมีความสัมพันธ์กันแบบ หนึ่งต่อกลุ่ม หรือกลุ่มต่อกลุ่ม โดยที่ข้อมูลหนึ่งสามารถระบุถึงข้อมูลอีกหลายตัวได้ เช่น โครงสร้างข้อมูลแบบต้นไม้ โครงสร้างข้อมูลแบบกราฟ 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
20
เครื่องมือที่ใช้ในการจัดโครงสร้างข้อมูล
หัวเรื่อง dd/mm/yy เครื่องมือที่ใช้ในการจัดโครงสร้างข้อมูล อัลกอริทึม (Algorithm) คือ รูปแบบของการกำหนดการทำงานอย่างเป็นขั้นตอน ซึ่งผ่านการวิเคราะห์และแยกแยะ เพื่อการแก้ปัญหาต่าง ๆ ตามลำดับ คือ ลำดับขั้นตอนวิธีในการทำงานของโปรแกรม เพื่อแก้ปัญหาใดปัญหาหนึ่ง ซึ่งถ้าปฏิบัติตามขั้นตอนอย่างถูกต้องแล้วจะสามารถช่วยแก้ปัญหาหรือประมวลผลตามความต้องการได้สำเร็จ 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
21
อัลกอริทึมต้มมาม่า 3/13/2020 หัวเรื่อง หัวเรื่อง dd/mm/yy
ชื่อผู้บรรยาย
22
ตัวอย่างอัลกอริทึมเพื่อทำการบวกราคาโดยใช้เครื่องคิดเลข
หัวเรื่อง dd/mm/yy ตัวอย่างอัลกอริทึมเพื่อทำการบวกราคาโดยใช้เครื่องคิดเลข เปิดเครื่องคิดเลข วนทำงานดังต่อไปนี้ พิมพ์ยอดเงินจำนวนเต็ม พิมพ์จุดทศนิยม (.) พิมพ์เศษของเงิน กดเครื่องหมาย (+) ทำจนกระทั่งราคาทั้งหมดถูกพิมพ์เข้าเครื่องและกดเครื่องหมาย = เขียนยอดรวมราคา ปิดเครื่องคิดเลข 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
23
อัลกอริทึมที่ดีจะประกอบด้วยคุณสมบัติต่างๆดังนี้
หัวเรื่อง dd/mm/yy อัลกอริทึมที่ดีจะประกอบด้วยคุณสมบัติต่างๆดังนี้ อัลกอริทึมที่ดีต้องมีความถูกต้อง (correctness) อัลกอริทึมที่ดีต้องง่ายต่อการอ่าน (readability) อัลกอริทึมที่ดีต้องสามารถปรับปรุงได้ง่ายต่ออนาคต (ease of modification) อัลกอริทึมที่ดีสามารถนำกลับมาใช้ใหม่ได้ (reusability) อัลกอริทึมที่ดีต้องมีประสิทธิภาพ (efficiency) 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
24
การประเมินประสิทธิภาพของอัลกอริทึม
หัวเรื่อง dd/mm/yy การประเมินประสิทธิภาพของอัลกอริทึม การประเมินประสิทธิภาพของอัลกอริทึมแบ่งออกเป็น 2 วิธี คือ การวิเคราะห์ (Analysis) และโดยวัดผล (Measure) ดังนี้ • การวิเคราะห์ประสิทธิภาพของอัลกอริทึม (Performance Analysis) จะใช้วิธีการวิเคราะห์วิธีการทำงาน (Method) ของอัลกอริทึมว่ามี ความสลับซับซ้อนเพียงใด • การวัดผลประสิทธิภาพของอัลกอริทึม (Performance Measurement) จะเป็นการวัดผลจากการทดลองใช้จริง 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
25
การวิเคราะห์ประสิทธิภาพของอัลกอริทึม
หัวเรื่อง dd/mm/yy การวิเคราะห์ประสิทธิภาพของอัลกอริทึม แบ่งออกเป็น 2 ส่วน ดังนี้ การวิเคราะห์หน่วยความจำที่จำเป็นต้องใช้ในการประมวลผล หรืออาจจะเรียกว่า การวิเคราะห์ Space Complexity การวิเคราะห์เวลาที่ต้องทราบในการประมวลผล หรือจะเรียกว่า Time Complexity 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
26
องค์ประกอบของ Space Complexity
หัวเรื่อง dd/mm/yy องค์ประกอบของ Space Complexity การวิเคราะห์ Space Complexity จะประกอบไปด้วย 3 ส่วนคือ Instruction Space Data Space Environment Stack Space 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
27
หัวเรื่อง dd/mm/yy Instruction Space คือ จำนวนของหน่วยความจำที่ใช้ในระหว่างที่ทำการคอมไพล์ (Compile) โปรแกรมคอมพิวเตอร์ ซึ่งจำนวนของหน่วยความจำ ที่ต้องใช้นั้นขึ้นอยู่กับคอมไพเลอร์แต่ละประเภท ไม่จำเป็นจะต้องเท่ากันและจะรู้ว่าจะต้องใช้จำนวน หน่วยความจำเท่าไรก็ต่อเมื่อถึงเวลาทีโปรแกรมทำงาน (Run Time) 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
28
หัวเรื่อง dd/mm/yy Data Space คือ หน่วยความจำที่ต้องใช้สำหรับเก็บค่าคงที่ และตัวแปรทั้งหมดที่ต้องใช้ในการประมวลผลซึ่ง Data Space จะแบ่งออกเป็น 2 ประเภทคือ หน่วยความจำแบบ Static คือ จำนวนของหน่วยความจำที่ต้องใช้อย่างแน่นอน ไม่มีการเปลี่ยนแปลง ซึ่งจะประกอบไปด้วยหน่วยความจำที่ใช้เก็บค่าคงที่และตัวแปรประเภทอาร์เรย์ หน่วยความจำแบบ Dynamic คือ จำนวนของหน่วยความจำที่ใช้ในการประมวลผลสามารถแปรเปลี่ยนได้ และจะทราบเมื่อโปรแกรมกำลังทำงานอยู่ การใช้หน่วยความจำแบบ Dynamic จะเกิดขึ้นกับลักษณะ การเขียนโปรแกรมที่เป็นแบบ Object 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
29
Environment Stack Space
หัวเรื่อง dd/mm/yy Environment Stack Space คือ หน่วยความจำที่ต้องใช้ในการเก็บผลลัพธ์ของข้อมูลเอาไว้ เพื่อรอเวลาที่จะนำผลลัพธ์นั้นกลับไปประมวลผลอีกครั้ง หน่วยความจำประเภทนี้จะเกิดขึ้นเมื่อมีการร้องขอให้นำมาใช้เท่านั้น 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
30
องค์ประกอบของ Time Complexity
หัวเรื่อง dd/mm/yy องค์ประกอบของ Time Complexity หลักในการพิจารณาอย่างคร่าวๆ ถึงเวลาที่ต้องใช้ในการประมวลผลก็คือ โปรแกรมจะสามารถประมวลผลได้เร็วกว่าเมื่ออยู่บนเครื่องคอมพิวเตอร์ที่มีความเร็วในการประมวลผลสูงกว่า ถ้าใช้คอมไพเลอร์ตัวเดียวกัน code ที่สั้นกว่าย่อมใช้เวลาในการประมวลผลได้น้อยกว่า ตัวแปรที่มีจำนวน byte น้อยกว่าย่อมประมวลผลได้เร็วกว่า 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
31
เวลาในการประมวลผลของโปรแกรม
หัวเรื่อง dd/mm/yy เวลาในการประมวลผลของโปรแกรม Compile Time คือ เวลาที่ใช้ในการตรวจสอบไวยากรณ์ (Syntax) ของ code (ภาษาคอมพิวเตอร์ที่เราเขียน) ว่าถูกต้องตามหลักไวยากรณ์หรือไม่ ถ้ามีข้อผิดพลาดเกิดขึ้นในคอมไพเลอร์จะแจ้งเตือนข้อผิดพลาดนั้นให้ทราบเพื่อที่เราจะได้ดำเนินการแก้ไขก่อนที่คอมไพเลอร์ใหม่อีครั้งหนึ่ง ซึ่งเวลาในส่วนนี้จะไม่ขึ้นอยู่กับจำนวนตัวแปรและคุณลักษณะของตัวแปรที่เราใช้ในตัวแปร Run Time หรือ Execution คือ เวลาที่เครื่องคอมพิวเตอร์ใช้ในการทำงาน ซึ่งจะขึ้นอยู่กับจำนวนตัวแปรและคุณลักษณะของตัวแปรที่เราใช้ในโปรแกรมดังนั้นในการวิเคราะห์ Time Complexity ของโปรแกรมหรือของอัลกอริทึมใดๆ ก็ตาม จะหมายถึงการวิเคราะห์ในส่วนของ Run Time นั่นเอง 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
32
การวิเคราะห์ Best-Case , Worst-Case , Average-Case
หัวเรื่อง dd/mm/yy การวิเคราะห์ Best-Case , Worst-Case , Average-Case การวิเคราะห์ประสิทธิภาพของ อัลกอริทึมจากข้อมูลที่นำมาประมวลผล ( Input Data) Best-Case การวิเคราะห์อัลกอริทึมเมื่อข้อมูลที่นำเข้ามาส่งผลให้อัลกอริทึมมีประสิทธิภาพมากที่สุด Worst-Case การวิเคราะห์อัลกอริทึมเมื่อข้อมูลที่นำเข้ามาส่งผลให้อัลกอริทึมมีประสิทธิภาพด้อยที่สุด Average-Case การวิเคราะห์อัลกอริทึมเมื่อข้อมูลที่นำเข้ามาส่งผลให้อัลกอริทึมโดยเฉลี่ยมีค่าประมาณที่สามารถระบุได้ 3/13/2020 หัวเรื่อง ชื่อผู้บรรยาย
งานนำเสนอที่คล้ายกัน
© 2025 SlidePlayer.in.th Inc.
All rights reserved.