信息技术培训基础知识

一、高精度计算

(至少掌握加减乘(高精对高精),正数高精度(简化模板)加减乘除(高精度与低精度)

二、排序算法

基本算法(选择排序、插入排序、冒泡排序、快排、堆排、归并排序、计数排序、基数排序。另外练习字符串排序、多关健字排序、排序二叉树)
典型应用
逆序对、第K小数

三、查找算法

数组映射、顺序查找、二分查找(一般静态)、hash查找(可动态也可静态、编码)

四、递归、回溯、深搜

从相关题目加深理解
最大公约数(减法和求余)、排列数的输出、组合数的输出、表达式计算、逆波兰式、连续最大和(递归)、上台阶问题、跳马问题、填数问题、老鼠走迷宫、因式分解、素数环、皇后问题、机器分工、数的划分、任务安排、四色问题、邮票问题、埃及分数、生日蛋糕、八数码问题、路由选择。(迭代思想、剪枝技巧、IDA*、阶乘编码)

五、广搜

魔板问题、跳棋问题、八数码问题、奇怪的电梯、翻硬币问题。(相关的优化,加快判重、双向搜索、IDA*)

六、二分

二分加速、二分查找、二分枚举

七、数据结构

栈(表达式计算)、队列(广搜中常用、单调队列)、链表、双向链表、堆、竞赛树、排序二叉树、树状数组、hash、并查集、KMP算法、RMQ、LCA、回文串问题、trie。(树的线型化应用、深搜序的应用)

八、图论

图的两种遍历方式、图的连通性判别定(深搜索、并查集)、有向图的强连通分量(两次深搜求交法、tarjan)、拓朴排序、关键路、最短路算法(dijk、floyd、bellman、spfa)、最小生成树(prime、Kruskal)二分匹配(最大独立集、最小支配集、最小路径点覆盖问题)(题库上题目较多)欧拉路和欧拉回路、哈密顿回路、关节点、桥

九、动态规划

(重中之重 练习相关基本模型)

重要思想:

二分、逆向思维