首页 > 数学不好,能学好算法吗?
头像
linux地平线
发布于 2021-08-18 16:28
+ 关注

数学不好,能学好算法吗?

很多人对算法有些疑问
1.学习算法和数据结构能带来什么实际作用
2.为什么很多面试都需要考算法跟数据结构呢
3.数学底子比较差,需要在补数学知识吗,或者跟数学的那些知识挂钩
4.数学很差,基本都忘了,能学好算法吗

其实算法本来就是数学的一个分支
例如经典的辗转相除法(Euclidean algorithm)出现于公元前300年。
计算机只是一种能以编程方式自动执行一部分算法的机器。

所以数学是学好算法的前提,当然每一个算***用到相应的数学知识,而不是所有的数学公式。

强烈推荐一个学习数据结构和算法的Github地址:希望能帮助到大家。

500个常用数据结构,算法,实战项目,经典游戏含代码,可拷贝代码直接运行

image.png

数据结构和算法

### ⚜ 排序算法

  • 冒泡排序
  • 插入排序
  • 希尔排序
  • 选择排序
  • 堆排序
  • 归并排序
  • 桶排序
  • 基数排序
  • 二叉树排序
  • 计数排序
  • 快速排序
  • 拓扑排序

### 查找算法

  • 线性查找
  • 顺序查找
  • 二分查找
  • 插值查找
  • 斐波那契查找
  • 树表查找
  • 分块查找
  • 哈希查找

⭕ 搜寻算法

  • 二分搜寻法
  • 循序搜寻法
  • 插补搜寻法
  • 费氏搜寻法

推荐算法

  • 协同过滤推荐算法
  • 基于内容的推荐算法
  • 混合推荐算法
  • 流行度推荐算法

❇ 矩阵

  • 对称矩阵
  • 对角矩阵
  • 稀疏矩阵
  • 稠密矩阵
  • 三角矩阵
  • 多维矩阵转一维矩阵
  • 矩阵连乘 动态规划迭代实现
  • 矩阵连乘 备忘录递归实现

➰ 项目中常用算法

  • 产生可能的集合
  • 后序式
  • 格雷码
  • 完美数
  • 得分排行
  • 数字拆解
  • 筛选求质数
  • 阿姆斯壮数
  • 重叠子问题的递归最优解
  • 长PI
  • 大数运算
  • 最大m子段问题
  • 最大子段和问题的简单算法
  • 最大访客数
  • 最长公共子序列问题
  • 最小生成树
  • 最短路径算法

➿ 大厂必会算法

  • 排列组合
  • 乱数排列
  • 费列数列
  • 布隆过滤器
  • RSA加密算法
  • 回溯算法
  • 递归算法
  • 分治算法
  • 贪心算法
  • KMP算法
  • 剪枝算法
  • 滑动窗口算法
  • 朴素贝叶斯算法
  • 动态规划算法

〽 线性结构

  • 数组行优先顺序
  • 数组列优先顺序
  • 广义表
  • 单向链表:初始化,添加,长度,判空,清空,获取结点,插入结点,删除结点
  • 双向链表:初始化,获得头结点,获得尾结点, 插入结点,删除结点
  • 循环链表
  • 静态栈:初始化,进栈,出栈
  • 动态栈:初始化,进栈,出栈
  • 顺序队列
  • 循环队列
  • 链式队列

树形结构

  • 二叉树:创建二叉树,插入树结点,前序遍历,中序遍历,后续遍历,二叉树深度,叶结点个数
  • 平衡二叉树(AVL树)
  • 二叉查找树(BST)
  • 完全二叉树
  • 伸展树
  • LSM 树
  • 哈夫曼树
  • 2-3-4树
  • 红黑树:左旋,右旋,添加结点,删除结点,后继结点,查找
  • B树
  • B+树:创建b+树,插入结点,删除结点,合并结点,分裂结点,查询,遍历
  • B*树
  • 并查集

❄ 堆

  • 二叉堆
  • 左倾堆
  • 斜堆
  • 二项堆
  • 斐波那契堆

  • 有向图
  • 无向图
  • 无权图
  • 带权图
  • 完全图
  • 深度优先搜索
  • 广度优先搜索
  • 宽度优先搜索
  • 迭代加深搜索(ID搜索)
  • 约束满足搜索
  • 爬山算法
  • 模拟退火算法

🎡 C++项目

💧 经典算法

  • 背包问题
  • 河内之塔
  • 生命游戏
  • 八枚银币
  • 八皇后
  • 三色棋
  • 骑士走棋盘
  • 老鼠走迷宫
  • 魔方阵

💤 实战项目

  • 实现太阳系行星系统
  • 实现运动目标的追踪
  • 实现银行排队服务模拟
  • 1小时入门增强现实技术
  • 代码实现线程池
  • 开发 Web 服务框架
  • 打造 Markdown 解析器
  • 实现高性能内存池
  • 实现简易 Docker 容器
  • 实现内存泄露检查器
  • 使用 Crypto++ 库实现常用的加密算法
  • 实现高性能 RTTI 库
  • 操作 redis 实现异步订阅和发布
  • 实现基数树 radix tree
  • 基于OpenCV实现实时监控和运动检测记录

🏮 经典项目

  • 递归解决分鱼问题
  • 递归解决年龄问题
  • 马踏棋盘
  • 在字符串的指定位置插入字符
  • 删除星号
  • 魔方阵
  • 矩阵转置
  • 农夫过河
  • 平分7筐鱼
  • 邮票组合
  • 选美比赛
  • 掷骰子游戏
  • 狼追兔子问题
  • 24点问题
  • 常胜将军问题
  • 自动发牌程序
  • 黑白子交换
  • “抢30”游戏
  • 搬山游戏
  • 人机猜数问题
  • 谜语博士的难题
  • 黑与白问题
  • 谁是窃贼问题
  • 旅客国籍问题
  • 委派任务问题
  • 谁在说谎问题
  • 新良和新娘问题
  • 谁家孩子跑的最慢问题
  • 求梅森素数
  • 求孪生素数
  • 求回文素数
  • 要发就发(1898)问题
  • 验证哥德巴赫猜想
  • 求给定范围内的所有素数
  • 计算分数的精确值
  • 求多项式之和
  • 比较两个分数的大小
  • 将真分数分解为埃及分数
  • 求最小公倍数
  • 歌星大奖赛
  • 列出真分数序列
  • 求最大公约数
  • 求不重复的3位数
  • 求勾股数
  • 求黑洞数
  • 求高次方数的尾数
  • 求回文数
  • 水仙花数
  • 求自守数
  • 求亲密数
  • 求完数
  • 换分币问题
  • 马克思手稿中的数学题
  • 舍罕王的失算
  • 猜牌术
  • 爱因斯坦的数学题
  • 求车速
  • 出售金鱼问题
  • 三色球问题
  • 分糖果问题
  • 数制转换
  • 存钱问题
  • 个人所得税问题
  • 最佳存款方案
  • 牛顿失代法求方程根
  • 兔子产子问题
  • 抓交通肇事犯问题
  • 打鱼还是晒网问题
  • 借书方案知多少
  • 百钱百鸡问题
  • 动态数组的实现
  • 实现的猜拳游戏(剪子锤子布)
  • 定时关机程序
  • 统计文件中的字符数、单词数以及总行数
  • 统计输入的字符串的长度
  • 输出菱形
  • 统计英文字母、空格、数字和其它字符的数目
  • 将一个正整数分解质因数
  • 统计文件中单词的个数
  • 向文件写入内容并读取显示
  • 判断一个数是否是素数
  • 输出2的N次幂
  • 猴子吃桃问题
  • 求某一年的某一月有多少天问题
  • 求nt的值(3种方法)
  • 删除字符数组中特定的字符
  • 判断回文字符串
  • 打印杨辉三角
  • 数组旋转问题
  • 输出九九乘法表(5种解法)
  • 兔子生兔子的问题(3中解法)
  • 获取开机时间
  • 分别用递归法和迭代法求阶乘
  • 奶牛生子的问题(腾讯面试题)
  • 计算用1分钱、2分钱、5分钱组成1元钱的方式
  • 新娘和新郎问题
  • 统计输入的单词的个数
  • strlenQ以NUL作为字符串结束标记,自定义一个字符串长度统计函数消除这个Bug
  • 将字符串转换为整数
  • 计算厄密多项式
  • 计算一个数的平方根
  • 实现动态数组,克服静态数组大小固定的缺陷
  • 实现文本搜索,类似软件中常用的搜索功能
  • 猜拳游戏
  • 动态分配数组大小
  • 定时关机小程序
  • 带打字效果输出字符串
  • 结构体简单应用范例
  • 使用枚举输出一周中的每一天
  • 文本文件复制代码
  • 输入一行数据并统计其长度
  • 线性同余法产生随机数
  • UDP传输系统源码
  • 万年历源码
  • 五子棋源码
  • 做的一个任务管理器
  • 做的播放器源码
  • 做的绘图板系统
  • 别踩白块儿(双人版)源码
  • 力学相关的流体源码
  • 华容道源码
  • 吃逗游戏源码
  • 商品销售系统源码
  • 图书借阅系统源码
  • 图书管理系统源码
  • 地空对战游戏
  • 坑爹大冒险
  • 坦克游戏源代码
  • 大丰收游戏源码
  • 奔跑的火柴人游戏源码
  • 学生信息系统
  • 学生成绩管理系统
  • 学生成绩管理系统源码
  • 实现图片转化为 ASCII 图
  • 实现如果cmd中的ping
  • 实现数字雨
  • 实现水波纹显示效果
  • 实现的汉诺塔演示程序
  • 实现的象棋源码
  • 实现的超级玛丽游戏源码
  • 实现类似弹力球效果
  • 实现非常漂亮祝福烟花效果
  • 对对碰游戏源码
  • 对自己电脑系统测试
  • 情人节的红玫瑰
  • 打字母游戏源码
  • 打字游戏代码
  • 扔香蕉的大猩猩
  • 拼图游戏源码
  • 支持自己创建迷宫,并求解最短路径
  • 教工工资管理系统
  • 文本编辑器系统源码
  • 涂格子游戏源码
  • 火车票订票管理源码
  • 电子时钟程序
  • 盒子接球游戏源码
  • 矿井逃生
  • 种地要浇水游戏源码
  • 自创军旗游戏源码
  • 自创推箱子游戏改版
  • 贪吃蛇游戏的双人对战版
  • 超市管理系统
  • 连连看游戏源码
  • 通讯录管理系统源码
  • 配有图片和音乐的打字母游戏
  • 青蛙过河小游戏
  • 黑白棋ai游戏源码
  • 迷宫源码

🧲 经典游戏

  • MiGo开源掌机
  • 2048游戏
  • 21点游戏
  • game-of-life
  • snake_game
  • 中国象棋
  • 五子棋
  • 井字棋
  • 俄罗斯方块
  • 弹弹乐
  • 弹球游戏
  • 成语接龙
  • 打砖块游戏
  • 打飞机游戏
  • 扫雷游戏
  • 推箱子
  • 文字冒险游戏
  • 猜拳游戏
  • 猜数游戏
  • 皇帝和后宫
  • ***游戏
  • 记忆游戏
  • 贪吃蛇(穿墙)
  • 贪吃蛇

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

热门推荐