渐增型算法 - 插入排序算法

来源:互联网 发布:比特币是网络传销吗 编辑:程序博客网 时间:2024/05/16 03:17

渐增型算法,指的是算法使得表示问题的解从较小的部分渐渐扩张,最终成长为完整解。渐增型算法有一个共同的特征:构成算法的主题是一个循环结构,它逐步将部分解扩张成一个完整解。该循环将遵循一个始终不变的原则:每次重复之初,总维持着问题的一个部分解。我们将此特征称为算法的循环不变量。


插入排序算法

输入:一组数<a1,a2,...,an>

输出:输入的一个排列(重排)<a1',a2',...,an'>,满足a1'<=a2'<=...<=an'

图示:


PHP代码实现:

<?phpfunction insertSort(&$arr){    $len=count($arr);    for($i=1;$i<$len;$i++){        $tmp=$arr[$i];        $j=$i-1;        while(($j>=0)&&($arr[$j]>$tmp)){            $arr[$j+1]=$arr[$j];            $j--;        }        $arr[$j+1]=$tmp;    }}$a=[8,4,64,16,96,1024,128,99,36,88];print_r($a);echo "<hr/>";insertSort($a);print_r($a);?>


0 0
原创粉丝点击