数据结构(一)——查找

来源:互联网 发布:2016年移动支付数据 编辑:程序博客网 时间:2024/05/21 04:39

这一个多月也顺带看了一些C语言的数据结构的书,感觉受益匪浅,重写了部分代码转成perl版本,数组必须是有序的:

my @a;sub binarySearch() #二分查找{my ($low, $high, $key) = @_;while($low <= $high){my $mid = int(($low + $high) / 2);if($key < $a[$mid]){$high = $mid - 1;}elsif($key > $a[$mid]){$low = $mid + 1;}else{return $mid;}}return 0;}sub interpolationSearch() #插值查找,不适于极端不均匀数据{my ($low, $high, $key) = @_;while($low <= $high){my $mid = int($low + ($high - $low)*($key - $a[$low]) / ($a[$high] - $a[$low]));if($key < $a[$mid]){$high = $mid - 1;}elsif($key > $a[$mid]){$low = $mid + 1;}else{return $mid;}}return 0;}


 

原创粉丝点击