HHopwise
Không gian lập trình với AI

Số bước có hướng ngắn nhất

Tính số bước có hướng ngắn nhất từ một đỉnh trong đồ thị có 1 đến 1000 đỉnh.

● ● ●Hopwise●
Quy trình · Số bước có hướng ngắn nhất ×
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
✳Số bước có hướng ngắn nhất
✓ Thay đổiKiểm tra trước khi áp dụng ↗
Minh họa không gian làm việc
01

Mô hình

Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.

02

Dự án

Thử chu trình, cạnh lặp và đỉnh không tới được, từ chối đồ thị rỗng hoặc đầu cạnh sai trước khi duyệt.

03

Kiểm tra trước khi áp dụng

So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.

Quy trình

Số bước có hướng ngắn nhất

Quy trình ↗
Quy trình
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
Không gian lập trình với AI

Giữ kết quả đồ thị có ý nghĩa với ứng dụng

Kết quả đồ thị chỉ hữu ích khi nơi gọi hiểu ý nghĩa từng giá trị. Hopwise cung cấp không gian lập trình AI trên Windows cho mã đồ thị, kết nối mã nguồn với cuộc trao đổi về quy ước của nó. Bắt đầu với biểu diễn đầu vào và cách ứng dụng hiển thị hoặc dùng kết quả, thay vì yêu cầu thay thuật toán riêng lẻ.

Với tác vụ tìm đường ít bước nhất, đưa đồ thị có hướng nhỏ gồm đỉnh có thể và không thể đi tới. Yêu cầu mô hình kết nối xem cách triển khai phân biệt đỉnh bắt đầu với đỉnh không có đường đi. Kèm chu trình để việc rà soát xét phát hiện lặp lại cũng như chuỗi tiến đơn giản nhất.

Tiếp theo, xem ranh giới dữ liệu đồ thị đi vào hàm. Tham chiếu đỉnh không hợp lệ phải theo chính sách có chủ đích, và hướng phải khớp ý nghĩa cạnh trong ứng dụng. Rà soát sửa đổi đề xuất cùng mã sử dụng, rồi chạy dữ liệu kiểm thử khẳng định kết quả chính xác cho từng đỉnh. Giữ rõ cách xử lý trạng thái không thể đi tới trên giao diện sau phép tính.

Hopwise hỗ trợ các điểm cuối tương thích OpenAI hoặc Anthropic phù hợp, bao gồm mô hình AI không kiểm duyệt nếu có. Hành vi phản hồi thực tế, giới hạn ngữ cảnh và công cụ phụ thuộc cấu hình đó. Không gian làm việc hỗ trợ điều tra; bằng chứng từ dữ liệu kiểm thử đồ thị và kiểm thử tích hợp quyết định thay đổi đã sẵn sàng để giữ lại chưa.

Giữ kết quả đồ thị có ý nghĩa với ứng dụng — câu hỏi trước khi sửa

Nên dùng đồ thị nào để giải thích vấn đề?

Chọn ví dụ có hướng nhỏ với chu trình, đỉnh không thể đi tới và điểm bắt đầu xác định rõ. Viết kết quả mong đợi cho từng đỉnh. Như vậy dễ xem hướng và ý nghĩa không có đường đi hơn dùng đồ thị sản xuất lớn.

Vì sao phân biệt không bước với không thể đi tới?

Không bước mô tả khoảng cách từ đỉnh bắt đầu đến chính nó, còn không thể đi tới nghĩa là không tìm được đường theo quy ước đồ thị. Nếu nơi gọi gộp chúng, giao diện có thể hiện kết nối không tồn tại. Rà soát biểu diễn trả về và nơi sử dụng cùng nhau.

Có thể dùng số bước cho đường đi có trọng số không?

Chỉ khi mọi cạnh biểu thị cùng chi phí theo mục đích tác vụ. Nếu trọng số quan trọng, giải thích yêu cầu đó trước khi yêu cầu thay đổi. Không nên trình bày cách tìm ít bước nhất như đáp ứng mục tiêu tối ưu khác.

Nên xử lý tham chiếu đỉnh không hợp lệ ở đâu?

Đặt chính sách tại ranh giới đầu vào và xem các nơi gọi hiện có. Yêu cầu mô hình giữ luồng từ chối hoặc kiểm tra hợp lệ rõ ràng. Kiểm thử cần có tham chiếu sai để hành vi truy cập chỉ số ngẫu nhiên không trở thành quy ước ứng dụng.

Tải cho Windows ↗

Hopwise · Cập nhật 2026-10-25