第1章 算法基础知识~算法的作用是什么?~
1-1 进行快速准确运算的步骤
编程、算法
1-2 让数据更容易处理
文本文件、二进制文件、非结构化数据、结构化数据、数据结构
1-3 什么是好的计算机程序
使用效率
1-4 比较各种算法的标准
计算复杂性、渐进、渐进符号
1-5 差异取决于实施的语言
编程语言、编译器、解释器、即时编译
1-6 一套便捷的算法集合
库
1-7 算法权利
专利权、软件专利、著作权、开放源代码
1-8 使用图片讲解算法
流程图
1-9 纸上计算的算法
笔算
1-10 寻找素数
素数、埃拉托斯特尼筛法
1-11 找出最大公约数
最大公约数、欧几里得算法
1-12 通过拼图学习算法
汉诺塔问题
1-13 使用随机值进行检查
随机数、伪随机数、随机种子、蒙特卡罗方法
第2章 如何存储数据?~它们各自的结构和特点~
2-1 整数是如何表示的
十进制、二进制、十六进制
2-2 数据的单位
比特、字节
2-3 小数是如何表示的?
小数、浮点数、实数类型
2-4 字符表示
字符、字符代码、ASCII、2字节字符、乱码字符
2-5 一个接一个地分配
变量、赋值、常量
2-6 要存储的数据大小
数据类型、整数类型、数据类型转换
2-7 在连续的区域内存储
数组、元素、索引
2-8 以人们容易理解的方式表示
关联数组、字典、散列表、地图、碰撞
2-9 存储数据的位置
地址、指针
2-10 以表格形式存储数据
二维数组、多维数组
2-11 存储单词和句子
字符串、空字符
2-12 表达复杂的数据结构
结构体、枚举类型
2-13 排成一排的形式
链表
2-14 双向链接的形式
双向链表、循环链表
2-15 存储在一个分支结构中
树状结构、二叉树、完整二叉树
2-16 满足条件的树状结构
堆
2-17 适合搜索算法的数据结构
二叉搜索树、平衡树
2-18 平衡树的类型
B树、B+树、B*树
2-19 存储无序的数据
集合
2-20 从最后的存储中检索
堆栈、LIFO、推入、弹出
2-21 便于按其保存的顺序进行检索的格式
队列、FIFO、排队、脱队
2-22 虚拟内存分页算法
虚拟内存、分页算法、LFU、LRU
第3章 对数据进行分类~按照规则排列数字~
3-1 升序或降序分拣
排序
3-2 维持相同值的顺序
稳定排序、内部排序、外部排序
3-3 通过选择最大或最小值进行排序
选择排序
3-4 将数据添加到一个对齐的数组中
插入排序
3-5 与紧随其后的元素进行比较
气泡排序
3-6 数组的双向排序
鸡尾酒排序
3-7 交换排序和插入排序相结合,速度更快
希尔排序
3-8 在创建堆的同时进行排序
堆排序
3-9 通过比较合并多个数据
合并排序
3-10 一般性的快速和常用排序
快速排序、分治法
3-11 当可能的值有限制时很有用的排序方法
桶排序、箱排序、基数排序
3-12 通过提供空隙进行排序
图书馆排序、跳跃列表
3-13 趣味排序方法
独裁者排序、猴子排序
3-14 我应该选择哪种方法?
计算复杂性的比较
第4章 查找数据~如何快速找到所需的值?~
4-1 从多个数据集中找到符合标准的那一个
搜索
4-2 一个不漏地搜索
全局搜索、彻底搜索
4-3 从头开始检查
线性搜索
4-4 从排序后的数据中搜索
二分搜索
4-5 按距离远近顺序搜索
广度优先搜索
4-6 依次搜索相邻的对象
深度优先搜索、回溯
4-7 深入搜索层次结构
递归、递归调用、分支定界
4-8 差异取决于树状结构的遍历顺序
前序遍历、后序遍历、中序遍历、波兰表示法、逆波兰表示法
4-9 也可以在相反的方向进行搜索
双向搜索
4-10 通过改变起点和终点进行搜索
尺取法
4-11 通过关注边缘寻找最短路径
最短路径问题、贝尔曼-福特算法
4-12 通过关注节点找到最短路径
戴克斯特拉算法
4-13 使用经验法则进行搜索
A*算法、欧几里得距离、曼哈顿距离
4-14 找到损害最小的那一个
极小化极大算法、Alpha-Beta算法
4-15 在句子中搜索文本字符串
暴力搜索、穷举搜索、KMP算法
4-16 以一种巧妙的方式搜索字符串
BM算法
4-17 搜索符合特定模式
正则表达式
第5章 机器学习中使用的算法~支持人工智能的计算方法~
5-1 从数据中进行分类和预测
机器学习、统计机器学习
5-2 基于正确数据的学习
有监督学习、过拟合
5-3 通过从数据中提取特征进行分类
无监督学习、聚类
5-4 奖励预期结果
强化学习、行为、代理、环境、状态、多代理
5-5 用于分类和回归的树状结构
决策树、不纯度、信息增益
5-6 多重决
展开