|
|
|
อยากทราบการเขียนอัลกอริทึมลักษณะนี้ด้วยภาษา PHP อ่ะครับ |
|
|
|
|
|
|
|
สมมติผมมี ข้อมูลอยู่ใน array เป็น (a,b,c) ผมอยากให้มันสลับตำแหน่งข้อมูลใน array เป็นดังนี้อ่ะครับ
- (a,c,b)
- (b,a,c)
- (b,c,a)
- (c,a,b)
- (c,b,a)
ให้ครบเท่าที่สามารถจะเป็นไปได้อ่ะครับ ช่วยแนะนำการเขียนลักษณะนี้ด้วยภาษา PHP ทีนะครับ
ขอบคุณมากๆครับ
Tag : - - - -
|
|
|
|
|
|
Date :
2009-11-29 15:43:53 |
By :
zerothza |
View :
1713 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เคยเขียนไว้ครับ แต่ไม่ได้เป็น function ที่มีความเร็วสูงนะครับ
ถ้าต้องการใช้สลับลำดับจำนวนหลายหลักอาจจะต้องใช้ function ที่เร็วกว่านี้สักหน่อยครับ
ลองค้นหาโดยใช้ keyword
combination algorithm c++
permutations algorithm c++
combination algorithm php
permutations algorithm php
ดูข้อมูล algoirthm ได้ที่ http://en.wikipedia.org/wiki/List_of_algorithms#Permutations
<?php
$possible = possibleOrder(range(1,5),0);
foreach($possible as $p){
echo '<br />',implode(',',$p);
}
function possibleOrder($a,$p){
$q = count($a);
$b = array();
for ($i=$p; $i<$q; $i++){
$t = $a[$p];
$a[$p] = $a[$i];
$a[$i] = $t;
if (($i != $p) ||(($i==$p)&&($p==0))){
$b[] = $a;
}
$b = array_merge($b,possibleOrder($a,$p+1));
}
return $b;
}
การประยุกต์ใช้หา shortest path
http://cakephp.jitwitya.com/post/shortest-path
|
|
|
|
|
Date :
2009-11-29 16:54:09 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆ ครับ
|
|
|
|
|
Date :
2009-11-29 23:03:37 |
By :
zerothza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่หนุ่มเก่งสุดๆ
พี่หนุ่มน่าจะทำหนังสือ php expert ขายน่ะครับผมจะเป็นคนหนึ่งละที่ซื้อมาอ่าน
|
|
|
|
|
Date :
2009-11-30 00:23:35 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พมก็ว่านะ ไม่งั้นก็เปิดคอร์สสอนกันไปเลยพี่
|
|
|
|
|
Date :
2009-12-01 13:00:38 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|