算法导论(七)——NP、java支持、参考

来源:互联网 发布:淘宝开店教学大纲 编辑:程序博客网 时间:2024/09/21 06:18

NP完全性问题

    如果对一问题证明其是NP完全性的,就可以设计一近似算法,而不去求最优解

    NP问题是否存在有效算法是未知的,且如果任何一个问题存在有效的算法,则其他都存在有效算法

图着色问题:

        相邻顶点颜色不同情况下所用的最小颜色数

        N门考试,每门一个小时,而同一学生选修课程不能同时进行,问最少多少小时结束考试

装箱:

        任意多个容量为1的箱子和大小为Si(0<Si<1)的物体,求装下所有物体的箱子数

    带罚款的作业调度

        逾期未完成会罚款

Hamiltonian回路    

        经过每一顶点一次的周游路线,如旅行商问题

近似算法

        解决NP问题:规约到经典问题,并注意其中的限制条件

        启发式算法,不能保证总得到正确结果            

    顶点覆盖问题

        问题定义没看懂

    装箱问题:

        贪心策略:把第i个物品放入第一个可以装下它的箱子,先将Si按递减顺序排列    

        1.5阶的近似算法

    满足三角不等式的旅行商问题

        W(u,v)=W(u,w)+W(w,u),利用Prim算法:2近似度

        1. 取开始点s作为树根

        2. 使用Prim求出以r为根的最小生成树T

        3. T进行前序遍历,生成顶点序列L

        4. 计算L的和,求出近似权值

java 算法库 jga

    jga.algorithms 提供 在集合上的算法

        append(将多个集合链接)

        compare(基于集合的比较)

         filter

        find

        Flatten: 对二维集合的处理

        ListAlgorithms: 该类的操作会对源集合有影响

        Merge: 组合两个集合的内容

        Reverse

        Sort: 将java的 sort适配到jga

        Summarize: 对集合求和

        Transform

        Unique

    网址: http://jga.sourceforge.net/docs/docs.shtml

    扩展代码:  http://code.google.com/p/jgaextension/

JUNG 

    提供图的默认实现和常用算法

参考网址

    算法导论笔记:  http://wenku.baidu.com/view/e6e429086c85ec3a87c2c5de.html

原创粉丝点击