Trong khi viết chương trình Petri Net, tôi đã phải đối mặt với sự lựa chọn về cấu trúc dữ liệu để biểu diễn biểu đồ. Danh sách điều chỉnh (tức là liệt kê liệt kê các cung vào và ra khỏi các vị trí hoặc chuyển tiếp riêng lẻ) rất dễ thực hiện, nhưng trong khi tôi đang nghiên cứu lý thuyết về lưới petri, tôi đã thực hiện theo cách tiếp cận phương trình trạng thái dựa trên ma trận - có lẽ sẽ yêu cầu tôi sử dụng ma trận thưa thớt.
Điều đó khiến tôi tự hỏi - có bất kỳ triển khai ma trận thưa thớt nào cung cấp phép liệt kê nhanh ở cả hàng và cột không? Nếu không, có những lựa chọn thay thế nào cho phép tôi xây dựng và di chuyển hiệu quả một đồ thị lưỡng cực trong một ngôn ngữ chức năng như Erlang không?
FWIW - Theo "hiệu quả", trong trường hợp này, tôi có nghĩa là nhanh chóng liệt kê sự cố vòng cung trên một chuyển tiếp hoặc địa điểm nhất định. Tôi sẽ hạnh phúc hơn khi đánh đổi không gian để có thời gian nếu có sự đánh đổi được thực hiện. Vì biểu đồ sẽ không được sửa đổi sau khi xây dựng, nên nó không cần phải đặc biệt hiệu quả cho việc chèn hoặc cập nhật.
TIA