程序设计基本知识结构
来源:互联网 发布:赵敏脚心 知乎 编辑:程序博客网 时间:2024/05/17 02:53
基本知识结构:
• 编码
• 文件输入/输出
• 大文件的问题
• 行超长的问题
• 数学运算
• 字符串处理
• 表达式求值/展开
• 英文数字朗读
• 简单程序的模拟执行(文法识别)
• 递归
• 数据结构
• 表示
• 线性结构
• 树: 边列表, 父亲, 遍历结果, “括号表示”
• 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
- 程序设计基本知识结构
- MIDP程序设计基本知识
- (一)程序设计的基本知识
- Java程序设计基本知识
- 大数据基本知识结构
- 嵌入式应用程序设计的基本知识
- 结构程序设计
- DISCUZ二次开发目录结构基本知识
- 数据算法与结构基本知识
- C语言 程序设计的任务部分基本知识
- 结构化程序设计----分支结构
- 结构化程序设计----循环结构
- 结构化程序设计方法
- 循环结构程序设计
- 结构化程序设计
- 结构化程序设计
- 四、选择结构程序设计
- 五、循环结构程序设计
- String 的基本用法
- Dijkstra算法实现 Version 1.1
- STL中list的使用
- 【小阅读^大脑袋】0519 NO.365
- 格式说明符
- 程序设计基本知识结构
- 依赖注入--一个EJB中调用另一个EJB
- Java解惑2-14转义字符的溃败
- 关于 EOM(Enterprise Operating Model)企业经营模型(1) ---转自n216
- 电影院卖票问题
- 明明很在乎
- 回文数的判定
- 解决ie6内存泄露的问题
- 封装kmalloc/malloc的一些小函数