我在中看到了二叉树的定义
另一种定义二叉树的方法是对有向图进行递归定义。二叉树是:
一个顶点。
一种图,由两个二叉树,加一个顶点,加上一个从新的顶点指向每个二叉树的根的边。
那么,怎么可能有一个根和一个左子的二叉树,像这样:
O
/
O
这是一棵二叉树对吧?我在这里错过了什么?
请不要只说“维基百科可能是错的”,我在其他地方也看到过这个定义。
我需要解决一个最短路径算法问题(用C语言)。
基本上,我得到了一个文件,其中包含(稀疏)矩阵的总行和列数、非零条目(称为门)的数量,以及这些条目(行、列、值)的位置和值。在这个迷宫中,我必须找出从条目(0,0)到任何其他点(位置也从文件中读取)的“最便宜”路径。每过一扇门,成本就会增加,而0的单元格则不需要任何成本。
有一些规则,比如你不能通过连续两个或更多的门,并且某些值为-1的门不能通过。最后,我必须打印出我通过的门的位置(在文件中给出的位置)。我划过多少空单元格并不重要。
无论如何,这里的问题是矩阵可以是10⁵*10⁵或更多...我把非零值存储在所谓的稀疏矩阵中,我想它是有效的:
typ