在表格结构中搜索行时,哪种算法最有效。
答案 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)如果否,则将变量与下一个元素进行比较,如果是,则中止。如果否,继续重复该过程,直到找到该元素。
希望它有所帮助!