程序设计基本知识结构

基本知识结构 :

       编码

       文件输入 / 输出

       大文件的问题

       行超长的问题

       数学运算

       字符串处理

       表达式求值 / 展开

       英文数字朗读

       简单程序的模拟执行 ( 文法识别 )

       递归

 

       数据结构

       表示

       线性结构

       : 边列表 , 父亲 , 遍历结果 , “ 括号表示

       A(B(H(), I(), J()), C(D(), E(F(), G())))

      

       线性结构基本算法

       排序

       二分检索

       * 串匹配 (KMP)

      

       遍历 : 二叉树 , 层次

       *** huffman

       多叉树转二叉树

       完全二叉树数组表示

      

       遍历 : DFS, BFS

       拓扑排序

       * 最小生成树

       * 最短路

       * 欧拉路 / 回路

       ** 关键路径

       功能数据结构

       散列表 ( 哈希表 ): 字典

       * 排序二叉树 (BST): 字典 , 易扩充

       * : 动态取最小值

       ** 字母树 (Trie): 字符串字典

       *** 线段树 : 区间操作 , 易扩充

 

       算法设计

       基本算法设计思想

       枚举

       贪心

       递归

       递推

       ** 构造

       模拟

       分治

       *** 解递归方程 .

       解方程结论 : T(n)=2T(n/2)+n

       归并排序 / 逆序对 , 快速排序,第 k 大数

       ** 最近点对

       搜索

       搜索算法

       深度优先搜索

       回溯法

       广度优先搜索

       ** 启发式搜索

       双向广度优先搜索

       经典问题

       n 皇后问题 ( 30 )

       8 数码问题 ( 一定要写 )

       ** 骑士遍历

       动态规划

       状态 ó 状态转移方程

       决策、 ( 边界条件 ) ( 阶段 )

       最优子结构、无后效性

       实现 : 自底向上递推 , 自顶向下的记忆化递归

       递推 : 附加时 / 空开销小 , 可用滚动数组 , 好调试

       * 递归 : 直观 / 好写 / 好想 , 只解需要解的东西

       ** 递推的两种实现

       动态规划

       最长上升子序列 (LIS)/ 导弹拦截第一问

       最长公共子序列 (LCS)/ 回文词 ioi2000

       1 2 3 4 5 6 7

       1 3 2 4 6 7 8

       最优排序二叉树 . O(n3)

       背包问题 ?

       最优矩阵乘法 A * (B * C) * D * E. O(n3)

       花店 IOI99 little flower shop

       乘积最大 . 2000

       * 方格取数 . 2000

       * 石子合并 . ioi95

       动态规划动机

       线性结构

       树状

       数值重复 / 数值范围

       n 个人 , 每个数不超过 m, nm/2

       d[i,j] = d[i-1,j] or d[i-1,j-a[i]]

       * 有向无环图 ( 容易进行状态抽象 )

 

       数学

       组合数学

       基本计数原理 : 加法 / 乘法原理 , 排列组合 , 容斥原理

       递推关系 , 常见的组合数

       fibonacci

       Catalan

       * 两类 Stirling

       * 母函数

       ** 其他计数方法 : Polya 定理 , 反演

       代数

       高斯消元 : 程序 , 特殊情况 , 溢出

       *** 矩阵乘法

       * 置换、循环 . 最小交换代价 /8 数码问题无解

       几何

       线段相交 / 交点

       多边形面积

       点和多边形的位置关系

       * 凸包

       数论

       最大公约数 , ax+by=gcd(a,b) 的解

       素数判定

       素数筛

       同余

       ** 欧拉定理 , *** 欧拉函数

       ** 中国剩余定理

       数值计算方面

       简化 : 如洪特规则

       pi/e 的高精度计算

       **** 数值积分 : 梯形法 , …

       非线性方程求根

       二分法 : 每次计算 f(x)

       模拟法 , [0,10] 求根 , 保留两位小数

       ****Newton 迭代

       **** 一般意义下的迭代 : x=(a-cos(x)-x2)1/3

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值