繁体   English   中英

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

[英]Efficient algorithm for searching a row which a tabular structure

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

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

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

让我们假设它们已经以升序存储,那么所需的步骤是:

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

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

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

a)如果相等,则中止。

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

c)如果较小,请使用mid之前的元素作为结尾,并使用mid = fir + end / 2计算新的mid,然后重复前三步。

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

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM