1.排序
选择排序 :平方复杂性(源自键比较),但只需要n次键交换
冒泡排序: 平方复杂性,键交换次数不定
2.顺序查找,字符串匹配
顺序查找:在序列有序情况下可提前退出
字符串匹配:在正文中查找模式开头,然后依次检查模式的剩余部分,最坏情况mn(m=leng(正文),n=leng(模式))。在剩余正文长度不足时提前退出
3.最近对问题,凸包问题
最近对:遍历计算所有两点距离
凸包:最小凸集合。选两个点,剩余点都在两点所成直线同侧,选择该两点
4.穷举排列组合
旅行商问题:列出所有可能回路(点排列)
背包问题:列出所有可能组合,判断是否在问题范畴内
分配问题
5.深搜,广搜
深搜查找树,广搜查找树,访问边与回溯边
深搜:用栈跟踪,维护已访问节点,未访问节点
检查连通性,无环性
图的关节点:移除后不连通
广搜:使用队列跟踪
树向边:通向未访问,
(广搜)交叉边:通向已访问,或兄弟节点 ?
(深搜)回边
对于邻接矩阵,复杂度V^2 邻接链表V+E
深搜树:可能生成顶点的多个排序 广搜:一个 ?