使用二叉搜索树实现稀疏矩阵

时间:2012-06-12 13:08:34

标签: sparse-matrix

我必须实现一个稀疏矩阵(一个主要为零的矩阵,因此你只记录不同于0的值),但我必须使用二叉搜索树来实现它。

修改

所以现在我正在考虑通过使用行/列作为键来实现它,但是我将什么用作该树的根?

/修改

我希望一旦我研究了二元搜索树,我就会明白这种实现是如何有益的,或者至少是可能的,但我对我的生活无法理解。

我试过谷歌无济于事,我自己无法想象如何尝试这样做。

我还没有确定我将要实现的语言,所以我不需要代码示例,我的问题是逻辑。我需要看看它是如何工作的。

P.S。我不知道要使用什么标签,如果有人可以编辑一些标签,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

要使用二叉树,您需要为矩阵中的每个(可能)条目设置一个不同的键。因此,如果您想在矩阵[100,100]中查找(2,4),那么密钥可能类似于“002004”。使用此键,您可以在树中插入值。

对于每个维度,密钥会更长,因此您也可以考虑使用散列函数来散列单元格的坐标,并在树中使用此散列键的条目列表。然后,树只是右侧列表的索引。在列表中,您需要执行顺序搜索。或者,如果您订购列表,则可以使用二进制搜索来改进。