【算法复习】算法类型之浅见


简单地分几类,并不全面,讨论也不甚严密,以后不断完善。

从总的思路而言,设计者一般都希望把大的问题简化,变成小问题。最好变成一系列原子操作,利用计算机任劳任怨地循环或迭代。

一、插入型

假定已经有一部分优化结果,研究新加入一个数据时,必须运行的步骤,使得新的数据集变成优化结果。这种办法的起始条件比较简单,当只有一个数据时,可以默认就是优化的结果。但是运行到后面,已有结果数据量较大时,新加入数据可能要经历较长的遍历时间。此外,数据的插入顺序也会影响最终结果,最好是配有一个优秀的随机访问器。

典型的例子:

1、排序算法里的“插入排序(insertion sort)”。假定一组数已经有序,新加入一个数,应该插入在何处。

2、Delaunay三角化里的incremental法。假定已经delaunay三角化,新插入一个点,如何变成新的delaunay三角。

3、各种二叉树的建立。

二、改进型

典型例子:

1、解旅行商问题TSP的linkern法。

三、分治型

准确来说,分治并非一种独立的方法。所谓分而治之,把总的数据集分成小的集合。如何治之?完全可以在小集合里套用上述各种方法。

1、排序算法中的“快速排序(quick sort)”。

2、排序算法中的“归并排序(merge sort)”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值