算法基础与性能分析
1. 算法的定义
算法是执行某种计算或过程的逐步方法。在编程中,我们常常使用算法却未意识到。比如小学学加法时,老师教的通用加法步骤就是算法。在编程里,查找数组中特定元素的顺序搜索和二分搜索也是算法。
顺序搜索是逐个遍历数组元素,直到找到目标元素或到达数组末尾。以下是顺序搜索的代码实现:
function SeqSearch(aStrs : PStringArray; aCount : integer;
const aName : string5) : integer;
var
i : integer;
begin
for i := 0 to pred(aCount) do
if CompareText(aStrs^[i], aName) = 0 then begin
Result := i;
Exit;
end;
Result := -1;
end;
二分搜索则要求数组按特定顺序排序,通过不断将搜索范围缩小一半来查找目标元素。代码如下:
function BinarySearch(aStrs : PStringArray; aCount : integer;
const aName : string5) : integer;
var
L, R, M : integer;
CompareResult : integer;
begin
L := 0;
R := pred(aCount);
while (L <= R) do begin
M := (L + R) div 2;
Co
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



