บทที่ 13 เรียงข้อมูลและค้นหา
จบบทนี้ น้องจะเรียงข้อมูลได้ทั้งแบบเขียนเองและแบบใช้ qsort ของภาษา C รู้ว่าวิธีที่เขียนเองใช้ได้กับข้อมูลขนาดไหน และเรียงอาเรย์ของ struct ตามหลายเงื่อนไข เช่น คะแนนมากก่อน ถ้าเท่ากันใครใช้เวลาน้อยกว่าก่อน ซึ่งเป็นโจทย์จัดอันดับที่ออกสอบบ่อยมาก นอกจากนั้นยังได้เครื่องมือค้นหา ทั้งค้นหาตัวเลขในอาเรย์ ค้นหาชื่อ และค้นหาคำในประโยค โจทย์ TOI Zero ระดับ A2 ถึง A3 และข้อสอบค่าย 1 จำนวนมากง่ายลงทันทีเมื่อเรียงข้อมูลก่อน เช่น หาค่ากลาง หาคนที่ k นับค่าที่ไม่ซ้ำ หรือหาคู่ที่ใกล้กันที่สุด
ในบทนี้
| หน้า | ได้อะไร |
|---|---|
| 13.1 ทำไมต้องเรียงข้อมูล | ค่ากลาง คนที่ k ค่าซ้ำที่อยู่ติดกัน ตรวจว่าเรียงแล้วหรือยัง และฟังก์ชัน swap |
| 13.2 bubble sort และ selection sort | เขียนเองพร้อมแผนภาพทีละรอบ หยุดก่อนเมื่อไม่มีการสลับ และนับจำนวนครั้งที่สลับ |
| 13.3 insertion sort และเวลาที่ใช้ | แทรกเข้าที่ทีละตัว เทียบสามวิธีกับข้อมูลสามแบบ และจับเวลาจริงให้เห็นการโตตาม n กำลังสอง |
| 13.4 เรียงด้วย qsort | ฟังก์ชันเปรียบเทียบ เรียงมากไปน้อย เรียงข้อความ เรียง struct หลายเงื่อนไข และกับดัก return x - y |
| 13.5 counting sort และการค้นหา | เรียงด้วยการนับ ค้นหาแบบไล่ ค้นหาชื่อใน struct และหาคำในประโยคแบบซ้อนและไม่ซ้อน |