# Algorithms คืออะไร อธิบายแบบง่ายที่สุดที่เด็ก 8 ขวบก็เข้าใจ
บทความโดย: EPT (Expert-Programming-Tutor)
วันนี้เราจะมาพูดคุยกันในหัวข้อที่ดูเหมือนจะซับซ้อนแต่แท้จริงแล้วตรงไปตรงมามากๆ เรื่องนั้นก็คือ "Algorithms" หรือในภาษาไทยเราเรียกว่า "อัลกอริธึม" ซึ่งในบทความนี้เราจะมาไขข้อสงสัยกันว่าอัลกอริธึมคืออะไร และมีประโยชน์อย่างไรในการเขียนโปรแกรม เราจะลองอธิบายด้วยภาษาที่เด็กอายุ 8 ขวบก็เข้าใจได้ พร้อมยกตัวอย่างแบบง่ายที่สุดกันครับ!
ถ้าคุณเป็นเด็กอายุ 8 ขวบและคุณกำลังทำแซนด์วิชให้เพื่อนของคุณ คุณจะทำอย่างไรบ้าง? คุณอาจจะทำตามขั้นตอนง่ายๆ เช่น:
1. เอาขนมปังสองแผ่น
2. ทาเนย
3. วางแฮมหรือชีสลงบนขนมปัง
4. ปิดทับด้วยขนมปังอีกแผ่น
5. ตัดเป็นสี่เหลี่ยม
ขั้นตอนเหล่านี้ในทางคอมพิวเตอร์เราเรียกว่า "อัลกอริธึม" ครับ ไม่ยากเลยใช่ไหมล่ะ? ทุกขั้นตอนที่คุณทำนั้นคือการติดตามอัลกอริธึมแบบง่ายๆ ในการสร้างแซนด์วิชที่อร่อย
ในทางเขียนโปรแกรมนั้น อัลกอริธึมคือชุดของการกระทำหรือขั้นตอนที่ชัดเจน ที่บอกคอมพิวเตอร์ว่าจะทำอะไรกับข้อมูลอย่างไร โดยมุ่งไปที่การแก้ไขปัญหาหรือปฏิบัติหน้าที่ใดๆ คิดภาพตามง่ายๆ เหมือนกับคุณเป็นครูสอนหุ่นยนต์ที่ต้องบอกให้มันทำแซนด์วิชนั่นเอง
ตัวอย่างอัลกอริธึมง่ายๆ
มาลองดูตัวอย่างของอัลกอริธึมง่ายๆ ในการเรียงลำดับตัวเลขกันครับ
สมมติว่าเรามีกลุ่มตัวเลข [5, 3, 8, 4, 2] เราต้องการเรียงมันตั้งแต่น้อยไปมากเป็น [2, 3, 4, 5, 8]. อัลกอริธึมหนึ่งที่เราอาจใช้คือ "Bubble Sort" ซึ่งทำได้ดังนี้
def bubble_sort(numbers):
n = len(numbers)
for i in range(n):
for j in range(0, n-i-1):
if numbers[j] > numbers[j+1]:
numbers[j], numbers[j+1] = numbers[j+1], numbers[j]
return numbers
numbers = [5, 3, 8, 4, 2]
sorted_numbers = bubble_sort(numbers)
print(sorted_numbers) # จะพิมพ์ [2, 3, 4, 5, 8]
ในโค้ดข้างต้น เราได้สร้างฟังก์ชันชื่อ `bubble_sort` ซึ่งจะทำการเรียงลำดับตัวเลขจากน้อยไปมาก วิธีนี้ไม่ใช่วิธีที่ดีที่สุดในการเรียงลำดับ แต่มันเป็นอัลกอริธึมที่เห็นผลชัดเจนและเข้าใจง่ายสำหรับผู้เริ่มต้น
ในโลกที่ข้อมูลเป็นเรื่องสำคัญมาก การมีอัลกอริธึมที่ดีไม่เพียงแต่ช่วยให้คอมพิวเตอร์แก้ปัญหาได้เร็วขึ้นเท่านั้น แต่ยังช่วยลดทรัพยากรที่ใช้ในการประมวลผลด้วย ลองคิดดูว่าถ้าอัลกอริธึมตัวหนึ่งใช้เวลาน้อยลงเพื่อทำงานเดียวกันกับอีกตัว มันจะประหยัดเวลาและพลังงานไปได้มากเลยทีเดียวครับ
เมื่อเด็กอายุ 8 ขวบสามารถทำคำสั่งเป็นลำดับขั้นตอนได้ พวกเขาก็พร้อมที่จะเรียนรู้เกี่ยวกับความคิดเชิงอัลกอริธึมแล้ว ที่ EPT เรามีหลักสูตรเข้าใจง่ายที่มุ่งเน้นให้นักเรียนทุกระดับเข้าใจในหลักการพื้นฐานของโลกโปรแกรมมิ่ง รวมถึงการเขียนอัลกอริธึมในรูปแบบที่เรียบง่ายและเป็นระบบ หากคุณสนใจวิธีที่เราเรียนรู้โปรแกรมมิ่งใน EPT และต้องการสร้างอัลกอริธึมของคุณเอง มาร่วมกันเรียนรู้และเติบโตไปด้วยกันนะครับ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM