用于搜索表格结构的行的高效算法

时间:2016-09-19 15:46:54

标签: java data-structures

在表格结构中搜索行时,哪种算法最有效。

1 个答案:

答案 0 :(得分:0)

这完全取决于表格结构存储在内存中的方式:

1.)如果结构中的数据已经在一个特定的oder(升序或降序)中排序: 二进制搜索将是最有效的。

让我们假设它们已经按升序存储,然后所需的步骤是:

i)获取用于对数据进行排序的变量的数据,并将其首先与表中的第一个元素(fir)进行比较,如果是,则中止。

ii)将它与最后一个元素(结束)进行比较,如果是,则中止。

iii)如果不是,则将其与表格中使用的表格的中间(中间)元素进行比较,并检查它是否等于,大于或小于中间元素的关系。 具有中间元素的条件:

a)如果等于,则中止。

b)如果更大,则使用mid(mid + 1)旁边的元素作为第一个元素(fir),并使用公式mid = fir + end / 2计算新的mid并重复前三个步骤。 / p>

c)如果较小,使用mid之前的元素作为结束,并使用mid = fir + end / 2计算新的mid,从而重复前三个步骤。

2.)如果数据尚未排序,则可以选择线性搜索。 算法: i。)将变量与第一个元素进行比较。如果是,则中止。 ii)如果否,则将变量与下一个元素进行比较,如果是,则中止。如果否,继续重复该过程,直到找到该元素。

希望它有所帮助!