Free book – for #datascience interviews - Guide to competitive programming
最近,施普林格免费下载了一些不错的数学书籍。
竞争性编程策略对许多数据科学访谈都非常有用,它们有助于改善您的数学基础。关于此主题的书籍并不多(尽管有很多不错的网站和YouTube资源)。
所以,我希望你觉得这本书有用
从书中
竞争性编程结合了两个主题:算法设计和算法实现。
算法设计竞争性编程的核心在于发明解决定义明确的计算问题的高效算法。
算法的设计需要解决问题和数学技能。解决问题的方法通常是将众所周知的方法和新的见解相结合。
数学在竞争性编程中起着重要作用。实际上,算法设计和数学之间没有明确的界限。
实现竞争性算法最常用的语言是C ++
书的内容是
编程技巧
语言功能
输入输出
使用数字
缩短码
递归算法
产生子集
产生排列
回溯
位操作
位操作
代表集
EF 科幻ciency
时间复杂度
计算规则
常见时间复杂度
估算效率
正式定义
例子
最大子阵列总和
两个皇后问题
排序和搜索
排序算法
气泡排序
七
合并排序
下界排序
计数排序
实际排序
通过排序解决问题
扫线算法
安排活动
任务和期限
二进制搜索
实施搜索
寻找最佳解决方案
数据结构
动态数组
向量
迭代器和范围
其他结构
设置结构
集和多集
地图
优先队列
基于策略的集合
实验
设置与排序
映射与数组
优先队列与多集
动态编程
基本概念
贪婪失败时
寻找最佳解决方案
计数解决方案
进一步的例子
最长递增子序列
网格中的路径
背包问题
从排列到子集
计数平铺
图算法
图的基础
图术语
图表示
图遍历
深度优先搜索
viii目录
广度优先搜索
应用领域
最短路径
Bellman–Ford算法
Dijkstra的算法
Floyd–Warshall算法
有向无环图
拓扑排序
动态编程
后继图
寻找继任者
循环检测
最小生成树
克鲁斯卡尔算法
联合发现结构
普里姆算法
算法设计主题
位并行算法
海明距离
计算子网格
图的可达性
摊销分析
两指针法
最近的较小元素
最小滑动窗
寻找最小值
三元搜索
凸函数
最小化总和
范围查询
静态数组查询
总查询
最低查询
树状结构
二叉索引树
段树
附加技术
树算法
基本技巧
树遍历
计算直径
所有最长的路径
目录ix
树查询
寻找祖先
子树和路径
最低共同祖先
合并数据结构
先进技术
质心分解
重光分解
数学
数论
素数和因子
Eratosthenes筛
欧几里得算法
模幂
欧拉定理
解方程
组合学
二项式系数
加泰罗尼亚语数字
包含-排除
伯恩赛德的引理
凯利公式
矩阵
矩阵运算
线性递归
图和矩阵
高斯消除
可能性
处理事件
随机变量
马尔可夫链
随机算法
博弈论
游戏状态
尼姆游戏
斯普拉格·格兰迪定理
高级图算法
强大的连通性
Kosaraju的算法
SAT问题
完整路径
欧拉路径
x目录
哈密??顿路径
应用领域
最大流量
福特-富克森算法
不相交的路径
最大匹配
路径覆盖
深度优先搜索树
双连通性
欧拉子图
几何
几何技术
复数
点和线
多边形面积
距离功能
扫线算法
交叉点
最近对问题
凸包问题
字符串算法
基本话题
特里结构
动态编程
字符串散列
多项式哈希
应用领域
碰撞和参数
Z算法
构造Z数组
应用领域
后缀数组
前缀加倍方法
寻找模式
LCP阵列
其他主题
平方根技术
数据结构
子算法
整数分区
莫氏算法
内容xi
再次讨论段树
延迟传播
动态树
节点中的数据结构
二维树
挖土机
拆分和合并
实作
附加技术
动态编程优化
凸壳技巧
分而治之优化
Knuth的最优化
杂
在中间相遇
计数子集
并行二进制搜索
动态连接
附录A:数学背景

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!