㈠ 计算机程序设计师要学什么

数学离散数学集合论 关系 代数系统 数理逻辑 图论
组合数学排列组合 母函数 群论 递推与递归
数学规划线性 动态 整数
高等数学向量 行列式与矩阵 微积分初步
概率统计
初等数论素数 整数理论 同余与模线性方程
计算几何

数据结构存储结构线性表
(一级结构)静态:数组 栈 队列 广义表 字符串
动态:指针 链表 动态数组

(二级结构)表示法(静态、动态) 二叉树 森林

(三级结构)表示法(矩阵、邻接表、三元组)
特殊结构散列表(HASH表) 并查集 线段树 后缀树 哈夫曼树与哈夫曼编码 地址表 Bit图 滚动数组 棋盘图 边顶置换图 二分点图(网络流)
常用方法遍历树 图 前/中/后序优先
转化拓扑排序(三级结构转一级结构) 最小生成树 最小树形图(三级结构转二级结构) 逆遍历
压缩路径树的线索化
压缩存储
查找线性直接 折半 Fab
树形二叉查找树 平衡二叉树B+树 B-树 线索二叉树 索引表
排序插入排序直接排序、折半排序、2-路排序
交换排序冒泡排序 快速排序 归并排序
堆排序
基数排序链式基数排序 桶排序

代码素养代码的编写速度和准确性 误码率
算法实现
算法优化
调试 查错 测试
习惯变量名 注释 缩进 模块化

基本算法数学高精度计算(模拟计算)
表达式处理括号 前/中/后缀表达式 表达式树
排列组合求值 嵌套控制
高斯消元法
筛选素数素数表
分数处理
基本操作实现大量数据赋值与移动Fillchar fillword move等函数
处理实数比较大小 高精度
字符串处理基本函数 KMP算法

图论
(显示图搜索)路径问题
(边集)连通性测试传递闭包算法 极大强连通子图 最小点基
最短路问题标号法 第k小路 减半最短路Dijkstra算法 floyd算法 bellman-ford算法 Warshall算法
特殊路径欧拉路及回路 哈密尔顿路及回路
图的中心和重心
生成树Kruskal算法 Prim算法

(顶点集)覆盖集
独立集
支配集
割顶和块
网络流容量有上下界的网络最大 / 小流
容量有上下界的网络最小费用最大 / 小流
顶容量网络最大流
供求约束可行流
二分图匹配匈牙利算法
关键路径

搜索
(隐式图搜索)深度优先搜索
(回溯法)剪枝优化
预处理
记忆化搜索
可变下界的深度优先搜索
随机化搜索
广度优先搜索双向广搜 *多向广搜
启发式搜索(A算法)
分枝定界

多阶段决策贪心算法
动态规划

其他构造法穷举
模拟

要学完这些不容易
有是都学好了
你就不是程序设计师了
你就是软件工程师了
层次不同啊