Please enable JavaScript.
Coggle requires JavaScript to display documents.
หน่วยที่ 2 การแก้ปัญหา, การเรียงลำดับภายใน(Internal Sorting)…
-
- การเรียงลำดับภายใน(Internal Sorting) เป็นการเรียงลำดับข้อมูลภายในหน่วยความจำหลัก (Primary Memory) ซึ่งจะเหมาะสมกับข้อมูลทีมีปริมณไม่มาก เนื่องจากหน่วยความจำหลักมีขนาดจำกัด ซึ่งมีวิธีการเรียงลำดับข้อมูล โดยสมารถแบ่งประเภทย่อยได้ดังนี้
-
-
-
-
-
-
-
-
-
การแก้ปัญหาเป็นกิจกรรมพื้นฐานในการดำรงชีวิตของมนุษย์ ปัญหาบางปัญหาสามารถหาคำตอบได้ในทันที ขณะที่บางปัญหาใช้เวลานานในการค้นหาคำตอบ อย่างไรก็ตามทุกคนต่างต้องการหาวิธีการในการแก้ปัญหาที่ทำให้ได้คำตอบที่ถูกต้องในเวลารวดเร็ว
-
- วิเคราะห์และกำหนดรายละเอียดของปัญหา เป็นการทำความเข้าใจเกี่ยวกับรายละเอียดเงื่อนไข ข้อกำหนด รวมถึงข้อจำกัดต่าง ๆ ของปัญหา ข้อมูลที่จำเป็นในการแก้ปัญหา ตรวจสอบว่ามีข้อมูลเพียงพอหรือไม่ จะหาข้อมูลเพิ่มเติมให้ครบถ้วนต่อการใช้แก้ปัญหาได้อย่างไร ข้อมูลผลลัพธ์ที่ได้คืออะไร และจะตรวจสอบความถูกต้องของผลลัพธ์ที่ได้อย่างไร
- การวางแผนการแก้ปัญหา เครื่องมือที่ใช้ในการวางแผนการแก้ปัญหา สำหรับการพัฒนาโปรแกรม อาจเลือกใช้รหัสลำลอง หรือผังงาน โดยวิธีการแก้ปัญหาที่ได้เรียกว่า ขั้นตอนวิธีหรืออัลกอริทึม (algorithm) ซึ่งเป็นลำดับขึ้นตอนในการแก้ปัญหาหรือการทำงานที่ชัดเจน
- การดำเนินการปัญหา เป็นกระบวนการที่ได้วางแผนไว้มาปฏิบัติ หรือพัฒนาโปรแกรมเพื่อแก้ปัญหา โดยอาจใช้ภาษาโปรแกรมช่วยในการดำเนินการ
- การตรวจสอบและประเมินผล ขั้นตอนนี้จะทำควบคู่ไปกับขั้นตอนการดำเนินการแก้ปัญหา โดยการตรวจสอบผลลัพธ์ที่ได้ไม่ถูกต้อง หรือยังมีส่วนที่ต้องแก้ไขปรับปรุงอยู่ ต้องย้อนกลับไปทำซ้ำตั้งแต่ขั้นตอนแรกจนกว่าจะได้ผลลัพธ์ที่ถูกต้อง
ขั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)
-
โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน
ในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time) , และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน
การนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า, การทำงานเครื่องจักรกล, หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข หรือวิธีการขนอาหารของแมลง
2.2 การระบุข้อมูลเข้าออก และ เงื่อนไขของปัญหา
-
-
ข้อมูลออก จำนวนเต็มบวกหนึ่งจำนวนc มีคุนสมบัติดังนี้
c เป็นจำนวนเต็มบวก
cห่รaเเละbลงตัว
cมีค่ามากที่สุดเท่าที่เป็นไปได้
2.4 การทำซ้ำ
-
ถ้านักเรียนมีเงิน M บาท และมีรายการราคาสินค้า A สามารถเขียน ขั้นตอนวิธีนับจําานวนสินค้าที่มีราคาไม่เกิน M บาทได้ดังนี้
1ขั้นตอนวิธี : หาจํานวนสินค้าที่มีราคาไม่เกิน M บาทข้อมูลเข้า : ราคาสินค้าในรายการ Aข้อมูลออก : จํานวนสินค้าที่มีราคาไม่เกิน M บาท
-
3พิจารณาข้อมูลราคาสินค้าในรายการ A ทีละจําานวน จนครบ2.1 ให้ x แทนข้อมูลราคาสินค้าที่พิจารณาอยู่2.2 ถ้า x น้อยกว่าหรือเท่ากับ M แล้ว ให้ count ← count + 1
-
-
-
-
-
-
-
-
ในการทำงานบางครั้งย่อมมีการทำงานรูปแบบเดียวกันซ้ำๆ หลายรอบ ซึ่งลักษณะการทำซ้ำ เช่น การทำซ้ำในรายการ การทำซ้ำด้วยเงื่อนไข
-
- ให้ตัวแปร x แทนข้อมูลท่ีพิจารณาอยู่
-
-
-