>>497 เดาว่าคำถามหมายถึงที่ >>494 บอกให้ใช้ function สำหรับเช็คแทนที่จะลูปเอง อธิบายในกรณีนี้ก็คือ
ในกรณีที่ภาษามันมี Set มาให้อยู่แล้ว ส่วนมาก Set ที่มีมาให้จะเขียนโดยใช้ data structure ที่เหมาะสมกับลักษณะของ data
เช่นการเก็บเป็น array แบบ [1, 2, 3, 4, 5] การหาว่าจะมี 5 อยู่หรือไม่ ต้องไล่เทียบสมาชิกทีละอัน (กรณีนี้ก็คือ 5 ครั้งกว่าจะเจอ)
แต่ถ้าเก็บเป็นแบบ binary tree เก็บ 1, 2, 3, 4,5 มันจะใช้เวลาการหาน้อยกว่านี้มาก (อย่างน้อยที่สุดก็น่าจะแค่ 2-3 ครั้ง)
เพราะ tree จะเก็บข้อมูลเป็นแบบนี้ http://imgur.com/Aww4U72
ถ้านึกภาพไม่ออกลองนึกเป็น folder แล้วแต่ละ folder มี 2 folder ย่อยก็ได้ 2 folder ย่อยที่ว่านี้จะเรียกว่า ซ้าย และ ขวา
ต้องการหา 5 จาก tree นี้ก็สามารถหาได้โดยการเทียบว่า
5 > 3 ... 5 มากกว่า 3 ... เลือกด้านขวา
5 > 4 ... 5 มากกว่า 4 ... เลือกด้านขวา
เจอ 5
หรือจะหา 6 จาก tree นี้ (ซึ่งค่านี้ไม่มีอยู่) ก็จะได้เป็นแบบ
6 > 3 ... 6 มากกว่า 3 ... เลือกด้านขวา
6 > 4 ... 6 มากกว่า 4 ... เลือกด้านขวา
6 > 5 ... 6 มากกว่า 5 ... เลือกด้านขวา
ไม่มีด้านขวาต่อ แปลว่าค่านี้ไม่มีอยู่
เลยเป็นเหตุผลว่าถ้าภาษานั้นๆ มี Set มาให้อยู่แล้ว และมี function ที่ต้องการ ใช้ของที่มีอยู่แล้วดีกว่ามานั่งทำเองใหม่น่ะ