การเลือกอัลกอริทึมที่เหมาะสมที่สุดใน PHP
บางครั้งปัญหาของโค้ดอาจเกี่ยวข้องกับ การที่เราไม่ได้เลือกวิธีแก้ปัญหาที่ดีที่สุด
สมมติว่าเรามีภารกิจ
หาผลรวมของจำนวนเต็มตั้งแต่ 1 ถึง 1000000
มาแก้ปัญหาที่มอบหมายกัน:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
มีอะไรผิดหรือ? ประเด็นคือ สำหรับการแก้ ปัญหานี้มี วิธีแก้ทางคณิตศาสตร์
วิธีแก้ไขนี้แทบไม่ต้องการ ทรัพยากรเลย! มาทำโปรแกรมสำหรับมัน:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
ข้อคิด: ก่อนที่จะแก้ปัญหาที่ใช้ทรัพยากรสูง ให้ตรวจสอบเสมอว่ามีสูตรทางคณิตศาสตร์สำเร็จรูปหรือแนวคิด ทางคณิตศาสตร์สำเร็จรูปสำหรับการแก้ปัญหานั้นหรือไม่
จงหาจำนวนตัวเลขที่หารด้วย 5 ลงตัว
ในช่วงจาก 1 ถึง
1000
จงหาจำนวนหลักที่ต้องใช้
เพื่อเขียนตัวเลขทั้งหมดตั้งแต่ 1 ถึง 1000000
จงหาจำนวนเฉพาะทั้งหมดในช่วงตั้งแต่
1 ถึง 10000 เป็นโจทย์ระดับยาก
ทำหรือไม่ทำก็ได้