0
点赞
收藏
分享

微信扫一扫

分享:github的算法项目

​​https://github.com/0voice/algorithm-structure​​

🦈 数据结构和算法

〽 线性结构

​​

分享:github的算法项目_系统源码

​​

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


🌴 树形结构

​​

分享:github的算法项目_结点_02

​​

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


❄ 堆

​​

分享:github的算法项目_推荐算法_03

​​

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


📊 图

​​

分享:github的算法项目_结点_04

​​

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


⚜ 排序算法

​​

分享:github的算法项目_推荐算法_05

​​

算法复杂度

排序算法

平均情况

最好情况

最坏情况

空间复杂度

稳定与否

冒泡排序

O(n2)

O(n2)

O(n2)

1

稳定

选择排序

O(n2)

O(n2)

O(n2)

1

不稳定

插入排序

O(n2)

O(n)

O(n)

1

稳定

希尔排序

O(nlogn)

依赖增量序列

依赖增量序列

1

不稳定

快速排列

O(nlogn)

O(nlogn)

O(n2)

O(logn)

不稳定

归并排序

O(nlogn)

O(nlogn)

O(nlogn)

O(n)

稳定

二叉树排序

O(nlogn)

O(nlogn)

O(n2)

O(n)

稳定

计数排序

O(n+k)

O(n+k)

O(n+k)

O(n+k)

稳定

桶排序

O(n+k)

O(n2)

O(n)

O(n+k)

稳定

堆排序

O(nlogn)

O(nlogn)

O(nlogn)

1

不稳定

拓扑排序

O(N+E)

-

-

O(n)

-

算法动图演示

算法动图演示请看 ​​📃 附录1​​

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


💫 查找算法

​​

分享:github的算法项目_系统源码_06

​​

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


⭕ 搜寻算法

​​

分享:github的算法项目_结点_07

​​

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


🔱 推荐算法

​​

分享:github的算法项目_系统源码_08

​​

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


❇ 矩阵

​​

分享:github的算法项目_推荐算法_09

​​

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


➰ 项目中常用算法

​​

分享:github的算法项目_结点_10

​​

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


➿ 大厂必会算法

​​

分享:github的算法项目_结点_11

​​

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



🎡 C++项目

💧 经典算法

​​

分享:github的算法项目_推荐算法_12

​​

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


💤 实战项目

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


🏮 经典项目

​​递归解决分鱼问题​​
​​递归解决年龄问题​​
​​马踏棋盘​​
​​在字符串的指定位置插入字符​​
​​删除星号​​
​​魔方阵​​
​​矩阵转置​​
​​农夫过河​​
​​平分7筐鱼​​
​​邮票组合​​
​​选美比赛​​
​​掷骰子游戏​​
​​狼追兔子问题​​
​​24点问题​​
​​常胜将军问题​​
​​自动发牌程序​​
​​黑白子交换​​
​​“抢30”游戏​​
​​搬山游戏​​
​​人机猜数问题​​
​​谜语博士的难题​​
​​黑与白问题​​
​​谁是窃贼问题​​
​​旅客国籍问题​​
​​委派任务问题​​
​​谁在说谎问题​​
​​新良和新娘问题​​
​​谁家孩子跑的最慢问题​​
​​求梅森素数​​
​​求孪生素数​​
​​求回文素数​​
​​要发就发(1898)问题​​
​​验证哥德巴赫猜想​​
​​求给定范围内的所有素数​​
​​计算分数的精确值​​
​​求多项式之和​​
​​比较两个分数的大小​​
​​将真分数分解为埃及分数​​
​​求最小公倍数​​
​​歌星大奖赛​​
​​列出真分数序列​​
​​求最大公约数​​
​​求不重复的3位数​​
​​求勾股数​​
​​求黑洞数​​
​​求高次方数的尾数​​
​​求回文数​​
​​水仙花数​​
​​求自守数​​
​​求亲密数​​
​​求完数​​
​​换分币问题​​
​​马克思手稿中的数学题​​
​​舍罕王的失算​​
​​猜牌术​​
​​爱因斯坦的数学题​​
​​求车速​​
​​出售金鱼问题​​
​​三色球问题​​
​​分糖果问题​​
​​数制转换​​
​​存钱问题​​
​​个人所得税问题​​
​​最佳存款方案​​
​​牛顿失代法求方程根​​
​​兔子产子问题​​
​​抓交通肇事犯问题​​
​​打鱼还是晒网问题​​
​​借书方案知多少​​
​​百钱百鸡问题​​
​​动态数组的实现​​
​​实现的猜拳游戏(剪子锤子布)​​
​​定时关机程序​​
​​统计文件中的字符数、单词数以及总行数​​
​​统计输入的字符串的长度​​
​​输出菱形​​
​​统计英文字母、空格、数字和其它字符的数目​​
​​将一个正整数分解质因数​​
​​统计文件中单词的个数​​
​​向文件写入内容并读取显示​​
​​判断一个数是否是素数​​
​​输出2的N次幂​​
​​猴子吃桃问题​​
​​求某一年的某一月有多少天问题​​
​​求nt的值(3种方法)​​
​​删除字符数组中特定的字符​​
​​判断回文字符串​​
​​打印杨辉三角​​
​​数组旋转问题​​
​​新娘和新郎问题​​
​​兔子生兔子的问题​​
​​获取开机时间​​
​​分别用递归法和迭代法求阶乘​​
​​奶牛生子的问题​​
​​计算用1分钱、2分钱、5分钱组成1元钱的方式​​
​​将字符串转换为整数​​
​​计算厄密多项式​​
​​计算一个数的平方根​​
​​实现动态数组,克服静态数组大小固定的缺陷​​
​​实现文本搜索,类似软件中常用的搜索功能​​
​​动态分配数组大小​​
​​定时关机小程序​​
​​文本文件复制代码​​
​​线性同余法产生随机数​​
​​计算你收藏的硬币值多少钱​​
​​找到一个数的所有真因子​​


​​UDP传输系统源码​​
​​万年历源码​​
​​五子棋源码​​
​​做的一个任务管理器​​
​​做的播放器源码​​
​​做的绘图板系统​​
​​别踩白块儿(双人版)源码​​
​​力学相关的流体源码​​
​​华容道源码​​
​​吃逗游戏源码​​
​​商品销售系统源码​​
​​图书借阅系统源码​​
​​图书管理系统源码​​
​​地空对战游戏​​
​​坑爹大冒险​​
​​坦克游戏源代码​​
​​大丰收游戏源码​​
​​奔跑的火柴人游戏源码​​
​​学生信息系统​​
​​学生成绩管理系统​​
​​学生成绩管理系统源码​​
​​实现图片转化为 ASCII 图​​
​​实现如果cmd中的ping​​
​​实现数字雨​​
​​实现水波纹显示效果​​
​​实现的汉诺塔演示程序​​
​​实现的象棋源码​​
​​实现的超级玛丽游戏源码​​
​​实现类似弹力球效果​​
​​实现非常漂亮祝福烟花效果​​
​​对对碰游戏源码​​
​​对自己电脑系统测试​​
​​情人节的红玫瑰​​
​​打字母游戏源码​​
​​打字游戏代码​​
​​扔香蕉的大猩猩​​
​​拼图游戏源码​​
​​支持自己创建迷宫,并求解最短路径​​
​​教工工资管理系统​​
​​文本编辑器系统源码​​
​​涂格子游戏源码​​
​​火车票订票管理源码​​
​​电子时钟程序​​
​​盒子接球游戏源码​​
​​矿井逃生​​
​​种地要浇水游戏源码​​
​​自创军旗游戏源码​​
​​自创推箱子游戏改版​​
​​贪吃蛇游戏的双人对战版​​
​​超市管理系统​​
​​连连看游戏源码​​
​​通讯录管理系统源码​​
​​配有图片和音乐的打字母游戏​​
​​青蛙过河小游戏​​
​​黑白棋ai游戏源码​​
​​迷宫源码​​


🧲 经典游戏

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


💿 视频讲解游戏

​​火柴人试炼之地​​
​​雷霆战机​​
​​奇怪大冒险​​
​​气球塔防​​
​​太空大战​​
​​
冒泡排序​​

分享:github的算法项目_结点_13

​​插入排序​​

分享:github的算法项目_系统源码_14

​​希尔排序​​

分享:github的算法项目_结点_15

​​选择排序​​

分享:github的算法项目_推荐算法_16

​​堆排序​​

分享:github的算法项目_结点_17

​​归并排序​​

分享:github的算法项目_系统源码_18

​​桶排序​​

分享:github的算法项目_推荐算法_19

​​基数排序​​

​​

分享:github的算法项目_结点_20

​​

​​计数排序​​

​​

分享:github的算法项目_结点_21

​​

​​快速排序​​

​​​​

​​拓扑排序​​

拓扑排序步骤:

  1. 删除1或2输出 ​​

    分享:github的算法项目_结点_22

    ​​
  2. 删除2或3以及对应边 ​​

    分享:github的算法项目_系统源码_23

    ​​
  3. 删除3或者4以及对应边 ​​

    分享:github的算法项目_推荐算法_24

    ​​
  4. 重复以上规则步骤 ​​

    分享:github的算法项目_推荐算法_25

    ​​



​​​​​​​​


举报

相关推荐

0 条评论