[英]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.