首页 > 最全的数据结构和算法,不信过来看看有没有漏掉的
头像
linux地平线
编辑于 2021-08-13 15:32
+ 关注

最全的数据结构和算法,不信过来看看有没有漏掉的

🦈 数据结构和算法

线性结构

图片说明

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

🌴 树形结构

图片说明

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

图片说明

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

📊

图片说明

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

排序算法

图片说明

算法复杂度

排序算法 |- |- |- |- |-

:-------- |:-------|:-------|:-------|:-------|:-------

插入排序 |O(n2) |O(n2) |O(n) |O(1) |稳定

希尔排序 |O(n1.3) |O(n2) |O(n) |O(1) |不稳定

选择排序 |O(n2) |O(n2) |O(n2) |O(1) |不稳定

堆排序 |O(nlog2n)|O(nlog2n)|O(nlog2n)|O(1) |不稳定

冒泡排序 |O(n2) |O(n2) |O(n) |O(1) |稳定

快速排列 |O(nlog2n)|O(n2) |O(nlog2n)|O(nlog2n)|不稳定

归并排序 |O(nlog2n)|O(nlog2n)|O(nlog2n) |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(n*k) |O(n*k) |O(n*k) |O(n+k) |稳定

GitHub 地址:https://github.com/0voice/algorithm-structure

算法动图显示

  • 冒泡排序

图片说明

  • 插入排序

图片说明

  • 希尔排序

图片说明

  • 选择排序

图片说明

  • 堆排序

图片说明

  • 归并排序

图片说明

  • 桶排序

图片说明

  • 基数排序

图片说明

  • 计数排序

图片说明

  • 快速排序1
  • 快速排序2
  • 快速排序3

图片说明

拓扑排序

拓扑排序步骤:

  1. 删除1或2输出
    图片说明

  2. 删除2或3以及对应边
    图片说明

  3. 删除3或者4以及对应边
    图片说明

  4. 重复以上规则步骤
    图片说明

💫 查找算法

图片说明

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

搜寻算法

图片说明

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

🔱 推荐算法

图片说明

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

矩阵

图片说明

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

项目中常用算法

图片说明

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

大厂必会算法

图片说明

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

🏮 经典项目

  • 递归解决分鱼问题
  • 递归解决年龄问题
  • 马踏棋盘
  • 在字符串的指定位置插入字符
  • 删除星号
  • 魔方阵
  • 矩阵转置
  • 农夫过河
  • 平分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) 回帖
加载中...
话题 回帖

相关热帖

热门推荐