Bạn nào giỏi về thuật toán giúp mình qua cái này với

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi zxtuyenxz, 2/4/09.

  1. zxtuyenxz

    zxtuyenxz T.E.T.Я.I.S

    Tham gia ngày:
    14/8/05
    Bài viết:
    548
    Nơi ở:
    Hà Nội
    [​IMG]
    Bài toán như trong ảnh :(
     
  2. matran241091

    matran241091 Sonic the Hedgehog Lão Làng GVN

    Tham gia ngày:
    13/11/06
    Bài viết:
    4,573
    Nơi ở:
    Bá Thiên Bang
    đây mà là bài toán ah:o:o.
    Thuật toán đường đi ngắn nhất trên heap
     
  3. h1volt3

    h1volt3 Legend of Zelda

    Tham gia ngày:
    11/3/05
    Bài viết:
    1,024
    Nơi ở:
    Hà Nội
    Mấy dòng cuối là bài toán đấy
    Hai heap lưu đỉnh và cạnh
    Nếu mà đọc các chương trước rồi thì chắc là làm dễ thôi. Mình chưa đọc các chương trước :'>
     
  4. zxtuyenxz

    zxtuyenxz T.E.T.Я.I.S

    Tham gia ngày:
    14/8/05
    Bài viết:
    548
    Nơi ở:
    Hà Nội
    [​IMG]
    đây là hướng giải nhưng mình vẫn ko hiểu lắm, bạn nào có thể làm nó đưới dạng C đc ko vậy pascal cũng đc
    Mình gà cái này lắm, chỉ đọc đc code thôi
     
  5. h1volt3

    h1volt3 Legend of Zelda

    Tham gia ngày:
    11/3/05
    Bài viết:
    1,024
    Nơi ở:
    Hà Nội
    Pseudocode đọc còn không hiểu thì sao đọc code C hay Pascal được :|

    Đại loại là thế này
    Tạo Vi, Ei như 4 dòng đầu trong thuật toán trên đề
    Với mỗi Ei tạo một heap Hi với node là cạnh trong Ei, weigh là khóa của từng node
    Cho một đỉnh vào Set_of_ProcessedVis, chọn Hi tương ứng
    Lấy ra node nhỏ nhất trong Hi mà ít nhất một trong 2 đỉnh của nó không nằm trong Set_of_ProcessedVis
    Nhét node đó vào T
    Chọn heap Hi tương ứng với 2 đỉnh của node đó, hợp chúng nó với nhau
    Nhét Vi vào Set_of_ProcessedVis​
    cho tới khi toàn bộ Vi nằm trong Set_of_ProcessedVis

    Tư tưởng của thuật toán là thế này
    Chọn một đỉnh chưa được xử lý
    Đánh dấu đỉnh đó đã được xử lý
    Lấy ra cạnh nhỏ nhất của đỉnh đó mà đỉnh còn lại cũng chưa được xử lý, cho vào cây kết quả
    Chọn đỉnh còn lại trên cạnh đó​
    Cho đến khi toàn bộ các đỉnh đã được xử lý hết
     
  6. zxtuyenxz

    zxtuyenxz T.E.T.Я.I.S

    Tham gia ngày:
    14/8/05
    Bài viết:
    548
    Nơi ở:
    Hà Nội
    [​IMG]
    Mình vẫn chưa hiểu lắm,bạn nào có thể dựa vào hình trên nói lướt qua cho mình thì tốt quá, hình trên có 6 đỉnh tưởng ứng mỗi cạnh là độ dài.
     

    Các file đính kèm:

  7. Fireemblem&me

    Fireemblem&me Dragon Quest

    Tham gia ngày:
    22/3/07
    Bài viết:
    1,424
    Nơi ở:
    HCM
    :-wsao bạn ko vào diễn đàn môn học mà post , cái này còn liên quan đến cách lưu trữ nữa

    thông thường từ thuật toán có thể biến thành code được rồi, cứ đi từ trên xuống, ánh xạ qua ngôn ngữ lập trình cụ thể (java,C,C++, C#, VB ...)
     

Chia sẻ trang này