Câu lạc bộ Hỗ Trợ Học Tập
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
  • Top posters
 Mr.Pakapun (256)
 ddtan90 (178)
 tvduong (147)
 dthnam90 (137)
 minhquankq (101)
 arianbo (70)
 DoanhNhan (54)
 chicken (53)
 stormit (52)
 gentle_storm (47)

 

 Giải thuật Prim trên di động

Go down 
4 posters
Tác giảThông điệp
hhdang
Thành viên nhiệt tình
Thành viên nhiệt tình
avatar


Tổng số bài gửi : 29
Join date : 04/01/2011
Age : 33
Đến từ : sóc trăng

Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Giải thuật Prim trên di động   Giải thuật Prim trên di động EmptyMon Jul 04, 2011 1:16 pm

Cái này là do mình nghiên cứu lập trình mobile nên viết thử chơi. Thấy chạy cũng được bạn nào thích thi tải về điên thoại chạy thử. Mình đã thử nghiệm trên nokia 6303i. copy file jar trong thư mục textbox\dist\ bỏ vào di động là chạy được. Trong đó đã bao gồm mã nguồn.

Code:
http://www.mediafire.com/?qxyl9e3kjmigjjz

Quá trình chạy:

1. Nhập số đỉnh->bấm menu\nhập.(mặc định trọng số giữa các đỉnh = 0)
2. Nhập trọng số. Nhập đỉnh đầu. đỉnh cuối và trọng số ->Menu\Nhập trọng số (có hiển thị trọng số phía dưới màn hình)
3. Menu\Vẽ đồ thị ( phím 1 thu nhỏ, phím 3 phóng to, các phím up,down,left,right dùng để di chuyển hình ).
4. Menu\Prim (vẽ đồ thị sau khi chạy giải thuật prim.)
5. Menu\Trọng lượng cây (hiển thị trọng lượng cây sau khi prim, và trọng số các cạnh được prim)
6. Menu\Rand (sinh số liệu tự động)

chú ý: số đỉnh đồ thị tối đa là 9.
Về Đầu Trang Go down
DoanhNhan
Mod
Mod
DoanhNhan


Tổng số bài gửi : 54
Join date : 03/01/2011

Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Re: Giải thuật Prim trên di động   Giải thuật Prim trên di động EmptyMon Jul 04, 2011 3:42 pm

Pro quá vậy ông bạn! Tuyệt vời, cố gắng phát huy nhé! lol! lol! lol!
Về Đầu Trang Go down
dthnam90
Thành viên gắn bó lâu dài
Thành viên gắn bó lâu dài
dthnam90


Tổng số bài gửi : 137
Join date : 04/01/2011

Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Re: Giải thuật Prim trên di động   Giải thuật Prim trên di động EmptyTue Jul 05, 2011 3:55 pm

Pro quá đi! Laughing Laughing Laughing Laughing Laughing Laughing
Về Đầu Trang Go down
hhdang
Thành viên nhiệt tình
Thành viên nhiệt tình
avatar


Tổng số bài gửi : 29
Join date : 04/01/2011
Age : 33
Đến từ : sóc trăng

Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Re: Giải thuật Prim trên di động   Giải thuật Prim trên di động EmptyWed Jul 13, 2011 10:14 pm

đã cải tiến chạy được trên cảm ứng và có lưu dữ liệu sau khi thoát.
Giải thuật Prim trên di động Anhso-221150_run
Giải thuật Prim trên di động Anhso-221335_run

Giải thuật Prim trên di động Anhso-221719_run
Hình này chạy trên cảm ứng giả lập.
Code:
http://www.mediafire.com/?4esb4i84pj5k94h

Còn cái này là gắn săn mồi mình mới viết chơi thử nhe. nếu có sai xót gì thì trả lời cho mình biết. Cám ơn trước.
Giải thuật Prim trên di động Anhso-22920_stop
Giải thuật Prim trên di động Anhso-22917_run
Code:
http://www.mediafire.com/?9qdq765fi7qxrrw
Về Đầu Trang Go down
dthnam90
Thành viên gắn bó lâu dài
Thành viên gắn bó lâu dài
dthnam90


Tổng số bài gửi : 137
Join date : 04/01/2011

Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Re: Giải thuật Prim trên di động   Giải thuật Prim trên di động EmptyThu Jul 14, 2011 10:14 am

Sao pro quá zậy! lol! lol! lol! lol! lol! lol! lol!
Về Đầu Trang Go down
minhquankq
Mod
Mod
minhquankq


Tổng số bài gửi : 101
Join date : 05/01/2011
Age : 32
Đến từ : Đại học cần thơ

Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Re: Giải thuật Prim trên di động   Giải thuật Prim trên di động EmptyThu Jul 14, 2011 9:51 pm

Hay quá bạn ơi... Mà bạn có thể chỉ mình hiểu rỏ hơn về giải thuật Prim được không zj?? Bạn có thể cho mình xin code bằng c dc không.. coi giải thuật trong toán rời rạc rồi, mà thấy khó áp dụng quá..Sad(
Về Đầu Trang Go down
http://AloneWithMe.co.cc
hhdang
Thành viên nhiệt tình
Thành viên nhiệt tình
avatar


Tổng số bài gửi : 29
Join date : 04/01/2011
Age : 33
Đến từ : sóc trăng

Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Re: Giải thuật Prim trên di động   Giải thuật Prim trên di động EmptySat Jul 16, 2011 9:43 am

minhquankq đã viết:
Hay quá bạn ơi... Mà bạn có thể chỉ mình hiểu rỏ hơn về giải thuật Prim được không zj?? Bạn có thể cho mình xin code bằng c dc không.. coi giải thuật trong toán rời rạc rồi, mà thấy khó áp dụng quá..Sad(

Chào bạn. mình đã post 1 bài về prim trên TC++ rồi đây là link bạn tham khảo
Code:
http://clbhotrohoctap.forumvi.com/t176-topic

Trong đó mình áp dụng theo đúng giải thuật của toán rời rạc luôn, tức là mình dùng kiểu tập hợp(set) do mình tự viết để phân hoạch đỉnh.
Đây là đoạn code chứa giải thuật prim của mình.
Code:

          Set U,V;    // Tạo hai tập hợp đỉnh
     vertex u,v;    // tạo hai đỉnh tạm trong quá trình chạy giải thuật
     int T[max][2];  // dùng mảng T để lưu thứ tự các cạnh được đưa vào cây. chiều thứ 2 có 2 số nguyên đại diện cho đỉnh trước và đỉnh sau của cạnh.
     for(int q=0;q<max;q++)    //dùng for để gán giá trị NILL(-1) do mình định nghĩa trước cho T cho biết T không chứa cạnh nào.
        {
        T[q][0]=NILL;
        T[q][1]=NILL;
        }
        U.AddElem(1);      //bắt đầu từ duyệt đỉnh 1
    for(int j=0;j<Vertex;j++) V.AddElem(j+1);        // thêm tất cả các đỉnh vào V. V là tập hơp các đỉnh của đồ thị
    int t=0;    // dùng t để lưu chỉ mục của mảng T[][].
    Set V1;           
   V1=V;      // đầu tiên V1 bằng V
   V1.RmvElem(1);        // do ta duyêt từ đỉnh 1 nên bỏ 1 ra khỏi tập V1
   while(U!=V){            // Làm cho đến khi U khác V, tức là cho đến khi cây có đủ tất cả đỉnh
                int min=32767;          /đặt min là giá trị cực đại của số Int
           for(int i1=0;i1<U.Card();i1++)      // quét qua từng đỉnh của tập U
           for(int i2=0;i2<V1.Card();i2++){  // quét qua từng đỉnh của tập V1
                                                           int cost=a[U.Card(i1+1)-1][V1.Card(i2+1)-1];    // cost là giá trị trọng số(lưu trong mảng a[max][max]) của cạnh đang được xét nối đỉnh từ trong U vào V1.
                             if ((min>cost) && (cost!=0)){    //kiểm tra để lấy cạnh khác 0 và có trọng số nhỏ nhất nối đỉnh từ U vào V1.
                                             min=cost;        //đặt min bằng cost bé nhất.
                                             u=U.Card(i1+1);    //đặt u là đỉnh đầu của cạnh được xét.
                                                        v=V1.Card(i2+1);    //đặt v là đỉnh cuối của cạnh được xét.
                                              }
                           }
                                                // duyệt qua hết các cạnh nối từ U vào V1 ta tìm được cạnh có trọng số bé nhất.
                  U.AddElem(v);      // thêm đỉnh cuối của cạnh được chọn vào U
                  V1.RmvElem(v);    // bỏ đỉnh được chọn ra khỏi V
                                             
                                              // dùng T lưu cạnh được chọn để biết được quá trình duyệt sau này.
                  T[t][0]=u;          // lưu đỉnh đầu cạnh được chọn
                  T[t][1]=v;            // lưu đỉnh cuối cạnh được chọn 
                  t++;                  //tăng chỉ mục
                }

Hy vọng giúp được bạn.


Sẵn đây mình post luôn game gắn săn mồi với một số cải tiến: lưu trạng thái game sau khi thoát và tính năng chơi tự động. Do giải thuật chơi tự động còn tệ nên sau khi chơi được khoảng 60-70 là chết.
Code:
http://www.mediafire.com/?or9n5krod14p1gb

Nếu bạn nào có cài netbean bản full thì có thể chạy trực tiếp file gan.jad trên máy tính. Nếu có gì sai sót mong các bạn nhắc nhở. Cám ơn đã ủng hộ mình.
Về Đầu Trang Go down
Sponsored content





Giải thuật Prim trên di động Empty
Bài gửiTiêu đề: Re: Giải thuật Prim trên di động   Giải thuật Prim trên di động Empty

Về Đầu Trang Go down
 
Giải thuật Prim trên di động
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» [NL1] Tìm đường đi ngắn nhất bằng giải thuật Prim [NL1] Tìm đường đi ngắn nhất bằng giải thuật Prim
» Niên luận 1_Giải thuật PRIM
» Chương trình nén và giải nén tập tin văn bản txt bằng thuật toán Huffman.
» Tìm đường đi ngắn nhất bằng giải thuật Dijktra.
» Niên Luận 1 PRIM TC++

Permissions in this forum:Bạn không có quyền trả lời bài viết
Câu lạc bộ Hỗ Trợ Học Tập :: NIÊN LUẬN - TIỂU LUẬN - LUẬN VĂN TỐT NGHIỆP :: NIÊN LUẬN :: >>NIÊN LUẬN 1-
Chuyển đến