• fans
  • 1036 reader
  • followers

Hôm nay tôi muốn đề cập đến một số thuật toán bất li thân của IT chúng ta, đó là các thuật toán sắp xếp. Ai đã học IT thì chắc đã cài đặt nó trên C hay C++ rồi, nhưng cài trên PHP tuy nó vẫn giống nhưng hiện tại trên izwebz chưa có nên tôi có cơ hội được đăng bài này.

Giới thiệu về bản thân một chút, hiện tại tôi đang học tập tại Việt Nam(tại nguồn gốc trang này từ USA) nên phải giới thiệu kĩ càng và mới hoàn thành xong năm nhất.Tôi thích giới thiệu kĩ càng bởi vì tôi cảm nhận trang web này khá tốt, nên tôi muốn nguồn kiến thức đưa ra phải đạt một chuẩn nào đó. Hy vọng là sắp tới mấy anh admin của izwebz sẽ có thể giới thiệu kĩ, và thật về hiện tại của bản thân. Tôi thấy trang web của nước ngoài hay thế lắm, tôi cảm thầy rất tin tưởng và chuyên nghiệp nữa. The end introduction …

Bubble Sort: Sắp xếp nổi bọt

Ý tưởng thuật toán: Đúng như tên gọi của nó các phần tử sẽ được sắp xếp theo kiểu phần tử nào nhỏ nhất sẽ nổi lên đầu còn các phần tử lớn sẽ chìm xuống cuối.

Code bubble sort:

/*
Author: NguyenKien.
Description: code for Bubble Sort.
Date: 4/10/2010
*/
<?php $a = array(9, 8, 7 , 6, 5, 4, 3, 2, 1, 0);
$i=0;
$j=0;
$temp=0;
for($i=0, $i<count($a); $i++)
{
for  ($j=count($a)-1; $j>$i; $j--)
If($a[$j-1] > $a[$j])
{
$temp = $a[$j-1];
$a[$j-1] = $a[$j];
$a[$j] = $temp;
}
}
foreach ($a as $value)
echo $value . “ ,”;
?>

Output:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Giải thích đoạn code trên

Đánh số key cho mảng ở trên (chú ý hen, trong C thì các chỉ số là index nhưng trong PHP lại là key).

9 -> a[0]; 8 -> a[1]; 7-> a[2]; 6->a[3]; 5->a[4]; 4->a[5]; 3->a[6]; 2->a[7]; 1->a[8]; 0->a[9];

Ở vòng for đầu tiên với $i=0 sẽ thực hiện vòng lặp for thứ hai từ vị trí thứ 9 xuống vị trí thứ 0 của mảng trên, và bắt đầu so sánh nếu số trước lớn hơn số sau thì hoán vị hai số đó. Ví dụ giá trị của a[9] =0 và a[8] =1; rõ ràng a[8] =1 (số trước) > a[9]=0 (số sau). Thỏa mãn điều kiện if ở trên nên thực hiện hoán vị hai số này và tiếp tục so sánh như vậy cho tới j=1; như vậy sau giá trị $i=0 và chạy vòng for thứ hai thì phần tử 0 tức là giái trị của a[9] sẽ được đẩy lên đầu. (phần tử nhẹ nhất nổi lên đầu.).Như vậy có thể hiểu ngay sau khi tăng $i lên một thì giá trị =1 trong mảng $a sẽ đứng kế sau giá trị 0 trong mảng $a.


Selection Sort: lựa chọn trực tiếp

Code selection sort

/*

      Author: NguyenKien.

      Description: code for Selection Sort.

      Date: 4/10/2010.

*/

<?php

      $b = array(9, 8, 7, 6, 5, 4, 3, 2, 1, 0);

      $i=0;

      $j=0;

      $temp =0;

      $min =0;

      for ($i=0; $i<count($b); $i++)

      {

          $min =$i;

            for ($j=$i+1; $j <count($b); $j++)

                  if ($b[$j] < $b[$min])

                  {

                      $min =$j;          

                        $temp =$b[$i];

                        $b[$i] = $b[$min];

                        $b[$min] =$temp;

                  }    

      }          
   
      foreach ($b as $value)

            echo $value." ,";

?>

Output: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Ý tưởng thuật toán: xét một mảng cần sắp xếp ta sẽ chọn phần tử đầu tiên và giả sử nó là nhỏ nhất, sau đó qua sử lí ta sẽ tìm ra phần tử nhỏ nhất thực sự của mảng và hoán vị nó với phần tử vừa giá sử là nhỏ nhất.

Các thao tác nhìn có vẻ na ná bubble sort nhưng nó có thêm biến $min, biến này nhằm mục đích lấy chỉ số (à quên key chứ )của phần tử nhỏ nhất mà ta vừa giả sử và xét đến điều kiện if ($b[$j] < $b[$min]) nếu đúng thì gán lại chỉ số nhỏ nhất thực sự của mảng cho biến $min. Và thực hiện hoán vị $a[$i] (là giá trị của biến min mà ta giả sử) cho $a[$min] (giá trị vừa tìm ra và nhỏ hơn giá trị của $a[$i]). Chỉ vậy thôi. Đó là Selection Sort

Insertion Sort: phương pháp chèn

Code for Insertion Sort.

/*

      Author: NguyenKien.

      Description: code for Selection Sort.

      Date: 4/10/2010.

*/

&lt;?php

      $b = array(9, 8, 7, 6, 5, 4, 3, 2, 1, 0);

      $i=0;

      $j=0;

      $temp =0;

      $x =0;

      for ($i=1; $i&lt;count($b); $i++)

      {

          $x =$b[$i];

            for ($j=$i-1; $j&gt;=0 &amp;&amp;  $x&lt;$b[$j]; $j--)

                  $b[$j+1] = $b[$j];

            $b[$j+1]=$x;

      }          

      foreach ($b as $value)

            echo $value.&quot; ,&quot;;

?&gt;

Output: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Ý tưởng thuật toán: Giải thích rễ hiểu nhất cho thuật toán này là khi các bạn chời bài tiến lên(ngoài băc mình hay gọi là chơi bài nam). Các bạn sẽ nhìn thầy một nhóm quân bài đã có thứ tự nhưng con bài tiếp theo lại không đúng với thứ tự của nhóm quân bài này (ví dụ nhìn thầy 2 cơ, 3 cơ, 4 cơ A tiếp theo không phải 5 cơ mà là K cơ. Trong khi đó 5 cơ lại ở đâu đó trong các quân bài cầm trên tay) nhiệm vụ của các bạn là nhìn lướt toàn bộ các quân bài có trên tay và lấy con 5 cơ đặt đúng vị trí sau 4 cơ. Đó cũng chính là cách mà insertion sort làm việc đó các bạn.

Giải thích code: Ở vòng lặp đầu tiên khi xét $i=0, và thực hiện tất các câu lệnh ở dưới nó khi $i=0 lập tức là lấy giá trị của nó liền tức là tóm lấy $b[$i]; và so sánh nó với $b[$j]. các bạn thấy nó ở trong điều kiện vòng lặp for thư hai && đó. Nếu đúng thì sẽthực hiện hoán vị $b[$j+1] = $b[$j]; Nếu không thì chính nó là nhỏ hơn số cần so sánh rồi, nó vẫn là chính nó thể hiện qua $b[$j+1]=$x; chỉ vậy thôi

Kết luận

Trong bài viết này tôi chỉ có thể public từng dó thôi, nếu các bạn thích cài đặt them các thuật toán shellsort, radix sort, merg sort hay binary search thì phải comment(còm men) ở dưới hay một số yêu cầu về lập trình PHP (chưa nói đến lập trình ứng dụng nha vì mình chưa có khả năng do mới tiếp xúc với PHP). Mình sẽ cố hết sức để viết. Do đây là bài viết đầu tiên nên rất cần thăm dò nhã hứng của các thành viên. Mình thích khen lắm..hi hi hi. Rất vui khi được đóng góp cho izwebz.

Chú ý: Trong các đoạn code trên tôi viết chỉ để mô phỏng các thuật toán trên thôi chưa tính đến chuyện tối ưu trong tính toán, ví dụ như bubble sort nếu viết như vậy thì các bạn sẽ được điểm kém khi học môn phân tích và thiết kế giải thuật, vì nó khong tối ưu về thời gian, rõ rang với code như vậy thì kể cả mảng đã sắp xếp rồi nó vẫn phải thực gần như ngần đó đoạn code sở dĩ gần như và câu lệnh if đều không thỏa(vì nó đã sắp xếp rồi). và trong insertion sort cũng như vậy. Các bạn có thể tìm hiểu làm sao để tối ưu nhé, code các bạn sẽ public trên izwebz hen, nhớ cài đặt trên PHP. Đang ngồi trên thư viện trường rất thoải mái khi viết bài này. Chào tất cả các bạn yêu izwebz . Good luck !!!!

Demon Warlock Website facebook twitter user_email

Tôi được sinh ra ở Việt Nam, nhưng hiện tại đang sống và làm việc tại Mỹ. Ngành tôi học không có liên quan gì đến thiết kế web. Nhưng đây là sở thích từ ngày còn là sinh viên du học, do vậy bây giờ dù cho đang đi làm nhưng tôi vẫn thích dùng thời gian rảnh rỗi của mình để học về thiết kế web. Như các bạn, tôi cũng việc mày mò tự học và khám phá.

  • Sakuya

    Uhm, mình cũng đang học ở trường nhưng chỉ là trường cao đẳng nên trong giáo trình học chỉ đề cập không kỹ lắm như trong trường hợp tốt nhất và xấu nhất thì thời gian chạy của thuật toán quick sort là bao nhiêu thì không đề cập chỉ nói thời gian chạy trung bình của thuật toán là nlogn cũng không có phần chứng minh thời gian chạy trung bình của thuật toán là nlogn cũng không dạy thuật toán shell sort, radix sort, merg sort nên nếu có thể thì up lên cho mình với

  • Jindo

    muốn biết các thuật toán có ứng dụng không thì vào Gameloft lập trình game đi, thấy những gì mình được học ở trường vào đây ứng dụng rất nhiều

  • http://www.fituct.org khangphamngoc

    Mình cũng mới học các tut của izwebz được 1 tháng tự dưng thấy bài này nhưng khi mình lập trình C Standard hay Visual C++ thì mình thấy tối ưu nhất vẫn là heap sort và mergesort, 2 chiến lược này có độ phức tạp nlogn. Còn các chiến lược trên độ phức tạp lớn quá.hic Bạn thấy đấy độ phức tạp của chúng là O(n^2),tất nhiên đối với những app nhỏ thì nó có thể implement đc nhưng dữ liệu lớn độ vài triệu hoặc vài chục triệu thì phải suy nghĩ lại ha! Thanks verry much….

  • Mr datinh4ever

    :D bạn nói đúng đó, viết giải thuật kiểu đó thầy cho điểm kém hihi
    Mấy cái giải thuật sort đó viết vầy :

    <?php
    $arr = array(9,8,7,6,5,4,3,2,1,0);
    sort($arr);
    echo '<pre>';
    print_r($arr);
    echo '</pre>';
    ?>
    

    Vui tí, có đắc tội xin bỏ qua

  • taptanhlamweb

    Anh cho em hỏi,trong WordPress mình dùng công cụ hoặc plugin nào để trình bày code(cho nó riêng 1 khung)giống như của a vậy.E cám ơn anh trước

    • Mr datinh4ever

      Bạn có thể dùng syntaxhighlighter

  • http://codesourcing.fr badSEOer

    Tôi cũng đã từng làm 1 slide về lập trình hướng đối tương trong PHP và sử dụng mô hình MVC. Không biết trên đây đã có chưa, nếu chưa khi nào có thơi gian tôi sẽ up lên để mọi người cùng theo luận.
    USA mới xong năm nhất mà viết được code như thế này thì nếu cố gắng thì còn tiến xa mặc dù code chưa tối ưu lắm.

  • http://www.iuwebsite.com $Gun

    Hay đó. Đã lâu không nhớ đến mấy hàm cơ bản này. Hôm nay được thấy lại làm có chút suy nghĩ.
    Code còn ít lỗi và chưa tối ưu lắm.
    Chúc bạn thành công hơn.

  • $USA

    ok ..nếu bạn thích, nhưng phải hỏi anh amind nếu anh đồng ý cho tôi làm một bài viết nữa về merg sort, quick sort, heap sort, shellsort tôi ok liền à .

  • Quốc Huy

    Còn nhiều cái sort khá hay nữa mà sao hok nói tới thế!

  • $USA

    Lời ngỏ trước khi thực hiện các video hướng dẫn lập trình OOP trong PHP.
    ………………
    Mới đây mình đang gặp trục trặc trong khi làm đồ án môn học, nên có khặp khó khăn trong việc soạn video phục vụ các bạn yêu lập trình. Giờ chắc mình sẽ cố gắng cân bằng để giúp các bạn sớm học phong cách lập trình mới này. Và mình có một vài lời thế này :
    1. OOP có rất nhiều tài liệu học về nó, bài đầu tiền chắc là nói về OOP là gì thôi và đi một số ví dụ trong thực tế, đó không phải là sở trường của mình, vì thế các bạn có thể tham khảo phong cách lập trình này tại đường link sau :
    http://cione.com.vn/273-introducing_oop-chuong-1-gioi-thieu-ve-phuong-phap-lap-trinh-huong-doi-tuong
    Sở dĩ mình muốn vậy vì mình không thể nói rễ hiểu như vậy cho các bạn mới học. Mình sẽ đi vào code luôn.
    2. Các bạn có thể comment rằng các bạn đang cần cái gì trong OOP nhé (nhớ là Basic) Nếu là cái gì đó khó hơn, có lẽ tôi sẽ nghĩ cùng các bạn.

    3 Hãy nói những nguyện vọng của bạn khi học PHP tại IZWEBZ.
    4. mình nhắc lại lần nữa là các bạn hãy nói yêu cầu của các bạn trong lập trình hướng đối tượng với PHP nha. (Hãy hỏi google một chút nha — rất vui khi được chia sẻ chút kiến thức cùi của mình với các bạn thông qua trang web rất thân thiện này.)
    Good luck !!!

  • http://www.izwebz.com Demon Warlock

    Bài này của $USA viết. Bài post đầu tiên, nên có gì chưa chính xác các bạn cứ góp ý để những bài sau sẽ tốt hơn.

  • http://hitek-solution.com .NET forever

    Xin lỗi, nhưng ai viết bài này vậy. Mình xem kỹ lắm rồi nhưng cũng chả biết ai viết bài này hết.

    • http://vatgia.com thienbinhsongtu

      Hôm sau làm 1 cái quick sort đi bạn

  • $USA

    liên lạc với mình qua yahoo nhé …nguyenkien_smile@yahoo.com
    hẹn gặp bạn trên yahoo….

  • Nguyễn mai

    Không chạy được bạn ơi,mình đã sửa lỗi sai nhưng vẫn thấy báo lỗi.Giúp mình với,đây là những bài tiểu luận,không thể thiếu

    • Hột mít

      Nói cứ thao thao bất tiệt thế nào ấy…Toàn là khoe khoang cả…Thật là Siêu nhân

  • $USA

    đấy là do lỗi post thôi, chứ mình đã code và chạy thử nghiệm rồi …chắc là bạn thấy mấy chỗ cout chứ gì, nó thiếu cả cin của mình nữa, lỗi post nên hem để ý . Bỏ qua hen …

  • Minh ngoc

    Bai` viết này có quá nhìu lỗi căn bản? Bạn tự viết à

  • $USA

    Bạn post khéo thật đấy ,,,Mình sẽ giúp bạn nhưng lần sau bạn đừng post lập trình C lên đây hen vì đây là PHP, bạn hãy khuyên anh admin mở một trang về C và C++ nhé.
    Mình rất thông cảm với một số bạn khi lập trình mà làm việc với ma trận, vì nó liên quan tới con trỏ, nhưng thực sự là 2 bài không liên quan tới con trỏ kia nó thực sự là không khó, nên mình chỉ có thể giúp bạn về bài ma trận thôi, Nếu bạn chỉ cần nhập được ma trận và xuất ma trận ra để kiểm tra thì những việc còn lại là khá dễ dàng vì nó đã có công thức cả rồi.
    Mình sẽ hỗ trợ bạn hai hàm nhập và xuất một ma trận :

    #include
    #include
    #include
    #include

    void Matrix(int **&matrix, int &rows, int &colums) {
    int i, j;
    matrix = new int*[rows];
    for (i=0; i<rows; i++) {

    matrix[i]= new int[colums];
    for (j=0; j<colums; j++){

    cout <<"a["<<i<<"]["<<j<>matrix[i][j];
    }
    }
    }

    void PrintMatrix(int **&matrix, int rows, int colums) {

    int i, j;
    for (i=0; i<rows; i++) {
    cout <<endl;
    for (j=0; j<colums; j++)
    cout <<setw(8)<<matrix[i][j];

    }
    }
    void main() {
    clrscr();
    int **matrix, rows, colums;
    cout <>rows;
    cout <>colums;
    Matrix(matrix, rows, colums);
    PrintMatrix(matrix, rows, colums);
    getch();

    }
    Nếu phần cộng và xác định tổng các số nguyên tố trên đường chéo chính trên ma trận vuông của bạn vẫn làm bạn đêm không ngủ được thì hãy quay lại post những khó khăn của bạn, đừng post đầu bài bạn nhé. Mình sẽ giúp bạn …đảm bảo bạn hiểu, và mình khẳng định nó không khố, hãy tìm hiểu công thực xác định vị trí các phần tử của ma trận (n*n) -ma trận vuông bạn nhé — nếu hiểu đường chéo chính ma trận vuông là gì bạn sẽ code nó trong vòng 2 phút (). Cố lên nha …Khó khăn hãy quay lại ..nhắc lại không post đề bài, hãy post những khó khăn của bạn

  • Nguyễn Mai (Giúp Em Với)

    Anh Chị nào làm được bài C giúp Em Với
    C1:Nhập ma trận A(n X n)gồm các số nguyên dương,với n được nhập từ bàn phím.

    Xuất ma trận A ra màn hình

    Tính tổng của các ma trận A

    Tính tổng các phần tử số nguyên tố trên đường chéo chính của ma trận A

    C2:Viết trương trình thực hiện các yêu cầu sau

    nhập 1 số nguyên dương n có tối đa 4 chữ số(0<n<9999),nếu nhập sai sẽ xuất ra không đọc được

    Nhập 1 số nguyen x(với 0<x<10)hãy in ra màn hình vị trí xuất hiện của x trong số nguyên dưông n,nếu x không xuất hiện thì xuất ra thông báo "x không tồn tại"

    C3: Viết trương trình thực hiện yêu cầu:

    Nhập chuỗi S,thay thế tát cả các ký tự số có trong chuỗi S thành ký tự @.

    Xuất chuỗi S sau khi đã thay thế ra màn hình

    VD:Chuõi nhập :"Nguyen Van Anh,Le Thi Tuyet"

    Chuối đã thay thế :"Nguyen Van @@,Le Thi @"

    • kaylaximuoi

      Tôi không rõ bạn cần giúp gì!!? Xem các yêu cầu trên tôi nghĩ bạn mới bắt đầu học lập trình, đây là những yêu cầu cơ bản giúp bạn tiếp cận với các bước xây dựng thuật toán và suy luận logic để giúp ích cho việc lập trình. Nó giống như khi muốn học chữ bạn phải học a, b, c trước, sau đó ráp chúng thành một từ rồi đến nguyên câu. Do đó, việc viết thay a, b, c cho bạn không phải là cách tốt để giúp bạn.

      Tôi hướng dẫn bạn thế này, bạn xem kỹ lại lý thuyết về ma trận, kiểu số, vòng lặp trong C sau đó bạn đừng nghĩ trong đầu mà hãy vẽ ra cụ thể 1 ma trận là thế nào. Bước kế tiếp, theo từng yêu cầu bạn suy luận theo cách bạn nghĩ (bằng ngôn ngữ của bạn) rồi mới đến cách lập trình nó như thế nào trong ngôn ngữ C?

  • $USA

    Mình đang là sinh viên vừa bắt đầu kì 1 của năm 2, nên những ứng dùng trong lập trình mình chưa biết nhiều lắm. Nhưng ít ra khi sử dụng các ngôn ngữ khác nó có các hàm hỗ trợ viết đúng theo tư tưởng của các thuật toán đã học thì mình cũng biết cơ chế của nó làm việc và theo đó mình viết khi nào nên dùng thuật toán nào.

  • http://duongpho.net MrV2m

    Bà con cho em hỏi tẹo. PHP thì em biết, site news cũng đã tự viết được. Nhưng mà cái mấy cái thuật toán sắp xếp thì ứng dụng dzô chổ nào? Vì sắp xếp thì chỉ có xắp xếp có sẵn rồi như tin mới trước ASC, ngược lại DESC hoặc ngẫu nhiên là RAND. Nếu mà ứng dụng dzo chổ đó thì chắc hơi cồng kềnh hỉ?
    Mong các đại ka tư vấn hén. ^^! Vẫn còn gà PHP lém.

    • kaylaximuoi

      @MrV2m: Không chỉ riêng PHP, các thuật toán sort nói chung là kiến thức nền tảng và cơ bản nhất khi học lập trình. Có thể bạn không áp dụng chúng vào thực tế nhưng khi bạn hiểu chúng bạn có thể giải quyết những vấn đề phát sinh từ đó hoặc các vấn đề khác ảnh hưởng đến khi bạn sử dụng những gì có sẵn. Hoặc trong trường hợp cần thiết bạn cũng có thể dựa trên những cơ bản đó mà viết riêng thuật toán tối ưu hơn cho ứng dụng của bạn.

      Ngoài ra, nếu nghiên cứu sâu về ngành khoa học máy tính, bạn sẽ nghiên cứu về trí tuệ nhân tạo, heuristic, đòi hỏi rất nhiều tư duy về thuật toán và giải thuật mà nếu bạn không nắm vững những thuật toán cơ bản sẽ khó mà theo kịp.

  • Toàn

    hình như mấy cái dấu bị đổi thành ký tự rồi kìa . Bác chỉnh lại nhé

  • Tất Khải An

    Mình biết trang izwebz này cũng được 1 tháng rồi .Nay mới comments cảm ơn những admin của trang web này rất nhiều. Mình học được rất nhiều từ trang web này.Mong trang web sẽ ngày càng có nhiều video để cho mình và các bạn như mình học hỏi.
    Mình duyệt web thấy có tài liệu của trường đại học khoa học tự nhiên nên chia sẽ với các bạn.Mình thấy nó cũng rất hay.
    đây là trang mình lướt web thấy .Nếu bạn nào thấy hay thì cảm ơn tác giả nha :
    http://thuvienit.com/8452.html
    đây là link down
    http://www.mediafire.com/?sharekey=ffe4b22ea1e55bc6ab1eab3e9fa335cac0fcdb6e7add1527

  • kaylaximuoi

    Nếu các bạn đi phỏng vấn về lập trình, các công ty muốn test kỹ thuật của các bạn, một trong số cách thức mà người phỏng vấn hay dùng tới là các thuật toán sort. Có thể họ đưa ra một thuật toán và yêu cầu bạn kể tên thuật toán đó, hoặc họ sẽ kể tên vài loại rồi yêu cầu bạn so sánh và cho biết khi nào nên dùng loại nào. Hoặc có khi đưa ra dãy số yêu cầu bạn dùng 1 loại nào đó để sắp xếp.

    Vì thế các thuật toán này rất quan trọng, khi mới ra trường có thể các bạn vừa học xong nên nhớ nhưng sau một thời gian bôn ba các bạn sẽ quên ngay nếu các bạn không nắm rõ cơ chế và bản chất của mỗi loại.

  • $USA

    Hỡi tất cả các anh em đang học IT. Đây là một trong những thuật toán phải nói easy quá rồi. Nhưng đừng coi thường nó đây chính là tiền đề để tiến đên các thuật toán cac cấp hơn, các bạn hãy thử nghĩ xem với ba bài toán cơ bản trên, các bạn có dịp được làm việc với mảng, làm việc với vòng lặp for lồng (nói rộng hơn là các vòng lặp trong vòng lặp). mình đang tìm một hàm trong PHP có tác dụng tính thời gian khi nó phải thực hiên một khối lệnh nào đó, khi đó các bạn sẽ code những thuật toán sắp xếp tạm gọi là cao cấp hơn, và thực tế so sánh thời gian thực hiện các thuật toán (không nghe các quấn sách nói mình phải thấy mấy tin, hi hi). Người ta cứ nói quick sort nhanh hơn insertion sort, hay radix sort tuy lợi hại(vì không phải thực hiện một lần so sánh nào mà vẫn ra một mảng đã sắp xếp) nhưng nó sẽ bất lợi hơn các thuật toán khác khi sắp xếp các mảng có những số nguyên cỡ nhỏ …v…v.Các bạn hãy tự mình kiểm chứng, Mình rất muốn có một đoạn code đóng gói cả jquery+HTML+CSS+PHP để cho máu(bốc lửa) khi làm bài tập tổng quát về so sánh các thời gian các thuật toán so sánh nhỉ. Biết đâu trong izwebz lại xuất hiện những người sở hữu các thuật toán kinh điển mới và public cho các anh em …Hãy bắt đầu từ cái cơ bản nhất , không thừa đâu các bạn vì các trường đại học trên thế giới đều giảng dạy các thuật toán này mà .

    • trang

      Chào mọi người !
      Cho mình hỏi vể “bài toán trên ma trận vuông “( hinh xoắn ốc)thì phải giải theo thuật toán nào đây.và thực tế ứng dụng là gi?
      Giúp mình với nha?
      Cảm ơn nhiều.><

  • shrimp2t

    Hi All. Mình Thấy bài này khá Hay cho các bạn mới học lập trình , nhưng theo Mình thấy Khi lập trình các ứng dụng ( nếu dùng các Ngôn ngữ bậc cao Như PHP, JAVA,..). thì mấy thuật toán này không được sử dụng nhiều lắm (tất nhiên là có ) Vì PHP hỗ trợ rất nhiều hàm sắp xếp.

    Nhiều khi làm việc Với Mảng Trong PHP không chỉ làm việc với các giá trị của phần tử trong mảng. nhiều khi còn phải ( or cần thiết ) với các giá trị khóa của mảng :)
    hì . đến đây thì bắt đầu Hay hơn rồi đo :”>…

    p/s : PHP có rất nhiều hàm sắp xếp mảng . Có thể tham khảo tại : http://www.php.net/manual/en/ref.array.php

  • tinhphonglove92

    Cảm ơn nhiều!

  • mr khocnhe

    bài viết rất hay, em cũng đang quay một series về php ứng dụng, sẽ liên hệ với anh demon, em góp ý 1 chút nhé.
    Không nên viết như thế này
    for ($i=0; $i<count($b); $i++) {

    }

    mỗi lần thực hiện vòng lặp thì php lại phải đếm số phần tử của mảng 1 lần, do vậy sẽ làm chậm chuơng trình và tốn tài nguyên máy chủ.
    cảm ơn anh về bài viết rất cơ bản cho các bạn mới học

  • vietpnk53

    thanks!

  • $USA

    mình đã gửi bài viết mở màn về OOP trong PHP cho anh admin, các bạn đón đọc.gook luck

    • http://truongtho.co.cc luongtruongtho

      oop trong php là cái gì vậy
      mình chả biết tý gì về code cả nản quá

Newbie

Các series nên xem trên izwebz cho newbie

Khi vào izwebz chắc nhiều bạn cho rằng các bài viết trên izwebz đều không có hệ thống gì cả? Thực chất, các bài biết đều đi theo một series của riêng nó, ví dụ như PHP, HTML & CSS, PSD2HTML, Photoshop, illustrator,… Trong bài viết này, mình sẽ tổng hợp lại các series bài viết cần thiết cho một newbie.

Izwebz facebook group

Social connect

Recent Comments

Archives