我试图将铁路中的路径表示为数据结构,但是我很难表示出道岔。
感觉就像一个图形问题,但是与常规图形相比有所不同。
铁路道岔是连接到其他三个顶点的顶点。 A,B和C。
但是,在铁路系统中,图形是通过一个方向遍历的。
因此,您可以采用路径B->道岔-> A和C->道岔-> A,但不能采用路径B->道岔->C。
是否有一个(图形)数据结构可以表示带有方向的路径?
这种数据结构将为软件系统提供基础,以使小型铁路模型自动化。
最佳答案
您可以将道岔表示为2个顶点-每个道岔状态都对应一个。因此,如果您具有源A
和目标B
和C
以及可以在B
和C
之间切换的分支,则该分支有2个顶点:TB
和TC
。此外,您还将具有以下优势:A->TB
,TB->B
,A->TC
,TC->C
这使您可以从A -> TB -> B
和A -> TC -> C
出发。而且由于您在TB
和TC
之间将没有边缘-您将无法直接从B -> C
行进