This blog has been shut down permanently.

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  13 随笔 :: 0 文章 :: 25 评论 :: 0 Trackbacks

要看的书:

<算法导论>
<算法艺术与信息学竞赛>
<图论的算法与程序设计>
<国际大学生程序设计竞赛例题解>
<基本算法>
<骗分导论>
<国际大学生程序设计竞赛例题解(一)>-<数论、计算几何、搜索算法专集>
<国际大学生程序设计竞赛例题解(三)>-<图论、动态规划算法、综合题专集>

学习规划:

一、第一阶段(11月13日 – 12月4日)主要完成的算法:
1、基本数据结构:
        线性表、链表(尤其双向链表和循环链表)、栈、二叉树
2、加减乘除四则运算的高精度算法
3、了解算法思想:DP、贪心、二分
4、查找与排序: 
        二分查找、二叉排序数、qsort函数、归并排序、HASH
5、图论基础算法: 
        DFS、BFS、MST(Prim)、Dijkstra、Floyd 、拓扑排序、割点
6、数学知识:初等数论(整除、同余)

二、第二阶段(12月25日 – 2月1日)主要完成的算法:
1、高级数据结构: 
        堆、并查集及路径压缩(Kruskal)、线段树
2、图论高级算法: 
        二分图匹配(匈牙利算法)、网络流、最小费用流、最大团、最大独立集、中国邮路问题、找Hamilton圈、寻找欧拉回路、着色问题、连通性判定、传递闭包和差分约束系统
3、博弈算法:博弈树、寻找必败类算法
4、计算几何: 
        判断线段相交、判断点是否在多边形内、凸包、矩形的交与并、两直线相交问题、已知三点求圆心
5、高级数学知识:(组合数学、具体数学中为主) 
        Fibonacci、Catalan数的应用、差分序列和Stirling数、Burnside定理和置换群、容斥原理、概率问题、生成排列数
6、高级搜索技巧: 
        双向BFS、A*算法(启发式搜索)、最小消耗优先、变深度优先搜索

三、三个算法思想的具体训练内容:


1)、DP 重中之重 (准备拿出3天做DP一种类型)
要解决的经典例题: 
       1、 最长不下降子序列(Longest Increasing Subsequence) 
       2、 最长公共子序列 (Longest Common Subsequence) 
       3、 矩阵链乘法 (Matrix Multiplication) 
       4、0-1背包 
       5、凸多边形的最优三角划分 
       6、多边形游戏 ---- 三角大战

2)、Greedy 贪心算法 高效优选算法
要解决的经典问题: 
       1、0-1背包 
       2、MST(Prim、Kruskal) 
       3、Dijkstra 
       4、Huffman Tree Code(霍夫曼编码)

3)、二分法
要解决的经典问题: 
       1、 归并排序算法求逆序数 (Inversion Number) 
       2、 最近点对 
       3、 几种常见算法的二分查找优化:LIS (最长不下降子序列)

posted on 2009-11-11 00:40 iZ 阅读(412) 评论(1)  编辑 收藏 引用 所属分类: 『Algorithm,Data Structure in C++』

评论

# re: 学习相关 2009-11-20 15:13 tiny
好样的,一起学习。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理