簡體   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