Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Tìm đường đi ngắn nhất bằng giải thuật tham lam?

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    8

    Unhappy Tìm đường đi ngắn nhất bằng giải thuật tham lam?

    Hic, ai có thể giúp em bản demo của bài toán tìm đường ngắn nhất ( thuật toán tham lam ) đc k ạ ?
    Em mới bắt đầu học C nên còn gà lắm...
    Em cảm ơn nhìu ạ...
    ------------

    New bie

    ------------------------------------

  2. #2
    Ngày gia nhập
    10 2008
    Nơi ở
    đại học vinh
    Bài viết
    283

    bạn có thể tìm đọc ebook về thuật toán của tác giả lê minh hoàng. trong đó có nhiều giải thuật và có các bài làm rất tốt cho bạn nghiên cứu

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    523

    Mình viết code của bạn ra, để cái khung nhỏ xíu khó xem quá.

    C Code:
    1. #include "iostream"
    2. #include "fstream"
    3.  
    4. using namespace std;
    5.  
    6. int n,p,v,cs;
    7. int Cost;
    8. int mtTP[20][20];
    9. int Tour[10][20];
    10. int mCost[10];
    11. int Flag[20];
    12.  
    13. void Input()
    14. {
    15.      ifstream f;
    16.      f.open("Input.txt");
    17.      if(f.bad())
    18.      {
    19.                 cout<<"File khong ton tai. \n";
    20.                 exit(1);
    21.      }
    22.      f>>n>>p;
    23.      for(int i=1;i<=n;i++)
    24.              for(int j=1;j<=n;j++)
    25.              {
    26.                      f>>mtTP[i][j];
    27.              }
    28.      f.close();
    29. }
    30.  
    31. int GTS1(int v)
    32. {
    33.      for(int i=0;i<=n;i++) Flag[i]=0;
    34.      int t=v;
    35.      int dem=0;
    36.      Tour[t][0]=v;
    37.      Cost=0;
    38.      Flag[v]=1;
    39.      int tmp=v;
    40.      while(dem!=n-1)
    41.      {
    42.             int tmpCost=100;
    43.             int co;
    44.             for(int i=1;i<=n;i++)
    45.             {
    46.                     if(tmpCost>mtTP[v][i] && Flag[i]==0 && mtTP[v][i]!=-1)
    47.                     {
    48.                                           tmpCost=mtTP[v][i];
    49.                                           co=i;
    50.                     }
    51.             }
    52.             dem++;
    53.             Tour[t][dem]=co;
    54.             Cost+=tmpCost;
    55.             Flag[v]=1;
    56.             v=co;
    57.      }
    58.      Cost+=mtTP[v][tmp];
    59.      mCost[t]=Cost;
    60.      return Cost;
    61. }
    62.  
    63. void GTS2()
    64. {
    65.      int tmp=100;
    66.      for(int i=1;i<=p;i++)
    67.      {
    68.              int a =GTS1(i);
    69.              if(tmp>a)
    70.              {
    71.                       tmp=a;
    72.                       cs=i;
    73.              }
    74.      }
    75. }
    76.  
    77. void Output(int cs)
    78. {
    79.      ofstream g;
    80.      g.open("Output.txt");
    81.      g<<"Chi phi cho qua trinh :"<<<<"Hanh trinh nhu sau :";
    82.      for(int i=0;i<<<" -->";
    83.      g<<<<"     **************** TRI TUE NHAN TAO ******************* \n";
    84.     cout<<"     |                                                   | \n";  
    85.     cout<<"     ************                         **************** \n";
    86.     cout<<"     |       bai toan ung dung giai thuat GTS2           | \n";
    87.     cout<<"     ***************************************************** \n\n\n\n\n";
    88.     Input();
    89.     GTS2();
    90.     Output(cs);
    91.     return 0;
    92. }

Các đề tài tương tự

  1. giải thuật Floyd tìm đường đi ngắn nhất
    Gửi bởi nguoikhonglo171 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 25-03-2011, 11:40 AM
  2. Tìm đường đi ngắn nhất bằng giải thuật dijkstra trong lập trình C
    Gửi bởi minhtoan991 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 25-02-2011, 12:26 PM
  3. giải thuật tham ăn bài toán nhặt bắp
    Gửi bởi thantai2000 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 24-12-2010, 12:58 PM
  4. Tỉm đường đi ngắn nhất bằng giải thuật Dijkstra
    Gửi bởi thnam35 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 13-03-2010, 11:11 PM
  5. [c++]Thuật giải tìm đường ngắn nhất
    Gửi bởi hoanglinh9466 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 01-08-2008, 04:44 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn