Fanboi Channel

โปรแกรมเมอร์ที่รัก

Last posted

Total of 1000 posts

498 Nameless Fanboi Posted ID:qGSFQrGnV

>>497 ไม่ค่อยเข้าใจที่ถามเท่าไหร่
คือ function มีหน้าที่หลักคือแยกโค้ดออกเป็นส่วนๆ เพื่อการจัดระเบียบและให้ง่ายต่อการ reuse
ส่วน loop เอาไว้สั่งให้โปรแกรมทำอะไรซ้ำๆ
ซึ่งมันมีหน้าที่คนละอย่างกันน่ะ

499 Nameless Fanboi Posted ID:/5s4CwE/P

>>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 ที่ต้องการ ใช้ของที่มีอยู่แล้วดีกว่ามานั่งทำเองใหม่น่ะ

Posts limit exceeded

Topic has reached maximum number of posts.

Please start a new topic.

Be Civil — "Be curious, not judgemental"

  • FAQs — คำถามที่ถามบ่อย (การใช้บอร์ด การแบน ฯลฯ)
  • Policy — เกณฑ์การใช้งานเว็บไซต์
  • Guidelines — ข้อแนะนำในการใช้งานเว็บไซต์
  • Deletion Request — แจ้งลบและเกณฑ์การลบข้อความ
  • Law Enforcement — แจ้งขอ IP address

All contents are responsibility of its posters.