• Stars
    star
    1,371
  • Rank 34,304 (Top 0.7 %)
  • Language
    C
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

2021年最新总结 500个常用数据结构,算法,算法导论,面试常用,大厂高级工程师整理总结

2021年最新总结500个常用数据结构,算法,算法导论,面试常用,经典游戏,大厂高级工程师总结

🦈 数据结构和算法

线性结构

🌴 树形结构

📊

排序算法

💫 查找算法

搜寻算法

🔱 推荐算法

矩阵

项目中常用算法

大厂必会算法

🎡 C++项目

💧 经典算法

💤 实战项目

🏮 经典项目

🧲 经典游戏

💿 视频讲解游戏

📒 附录

📃 附录1


1800道数据结构和算法题(含答案)


🦈 数据结构和算法

线性结构

image

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

🌴 树形结构

image

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

image

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

📊

image

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

排序算法

image

算法复杂度

排序算法 平均情况 最好情况 最坏情况 空间复杂度 稳定与否
冒泡排序 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
拓扑排序

💫 查找算法

image

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

搜寻算法

image

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

🔱 推荐算法

image

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

矩阵

image

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

项目中常用算法

image

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

大厂必会算法

image

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


🎡 C++项目

💧 经典算法

image

背包问题
河内之塔
生命游戏
八枚银币
八皇后
三色棋
骑士走棋盘
老鼠走迷宫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
中国象棋
五子棋
井字棋
俄罗斯方块
弹弹乐
弹球游戏
成语接龙
打砖块游戏
打飞机游戏
扫雷游戏
推箱子
文字冒险游戏
猜拳游戏
猜数游戏
皇帝和后宫
老虎机游戏
记忆游戏
贪吃蛇(穿墙)
贪吃蛇

💿 视频讲解游戏

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


📒 附录

📃 附录1

算法动图显示

冒泡排序

image

插入排序

image

希尔排序

image

选择排序

image

堆排序

image

归并排序

image

桶排序

image

基数排序

image

计数排序

image

快速排序

image

拓扑排序

拓扑排序步骤:

  1. 删除1或2输出 image
  2. 删除2或3以及对应边 image
  3. 删除3或者4以及对应边 image
  4. 重复以上规则步骤 image





🤝 鸣谢

为了让我们的repo内容更加的丰富,更加的专业。欢迎大家贡献patch,希望大家在issue里面出谋划策,我们期待你的加入。

联系专栏

零声教育,专注于c/c++Linux后台服务器开发架构技术学习提升。

每天晚上8点【免费技术直播】:分享Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习。

关注微信公众号【后台服务架构师】——【联系我们】,获取本repo最全PDF学习文档!

More Repositories

1

interview_internal_reference

2023年最新总结,阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。
Python
35,340
star
2

from_coder_to_expert

2021年最新总结,从程序员到CTO,从专业走向卓越,分享大牛企业内部pdf与PPT
10,920
star
3

Introduction-to-Golang

【未来服务器端编程语言】最全空降golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享ppt
Go
6,731
star
4

expert_readed_books

2021年最新总结,推荐工程师合适读本,计算机科学,软件技术,创业,思想类,数学类,人物传记书籍
5,877
star
5

audio_video_streaming

音视频流媒体权威资料整理,500+份文章,论文,视频,实践项目,协议,业界大神名单。
4,234
star
6

linux_kernel_wiki

linux内核学习资料:200+经典内核文章,100+内核论文,50+内核项目,500+内核面试题,80+内核视频
3,556
star
7

cpp_new_features

2021年最新整理, C++ 学习资料,含C++ 11 / 14 / 17 / 20 / 23 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等
C++
3,444
star
8

introduce_c-cpp_manual

一个收集C/C++新手学习的入门项目,整理收纳开发者开源的小项目、工具、框架、游戏等,视频,书籍,面试题/算法题,技术文章。
C++
2,671
star
9

learning_mind_map

2021年【思维导图】盒子,C/C++,Golang,Linux,云原生,数据库,DPDK,音视频开发,TCP/IP,数据结构,计算机原理等
2,468
star
10

campus_recruitmen_questions

2021年最新整理,5000道秋招/提前批/春招/常用面试题(含答案),包括leetcode,校招笔试题,面试题,算法题,语法题。
2,420
star
11

kernel_new_features

一个深挖 Linux 内核的新功能特性,以 io_uring, cgroup, ebpf, llvm 为代表,包含开源项目,代码案例,文章,视频,架构脑图等
C
1,443
star
12

ffmpeg_develop_doc

2023年,最新音视频学习资料整理,项目(调试可用),ffmpeg命令手册,文章,编解码论文,视频讲解,面试题全套资料
C
1,417
star
13

computer_expert_paper

1000+份计算机paper,卡耐基梅隆大学,哈佛,斯坦福,芝加哥大学,MIT,facebook,google,微软,Amazon,twitter等大牛一作,持续更新中
1,222
star
14

k8s_awesome_document

【2021年新鲜出炉】K8s(Kubernetes)的工程师资料合辑,书籍推荐,面试题,精选文章,开源项目,PPT,视频,大厂资料
1,126
star
15

Understanding_in_Rust

【最安全的编程语言】Rust工程师枕边资料,大牛文章,开源框架,官方文档,视频,推荐书籍,学习干货,大牛语录
929
star
16

dpdk_engineer_manual

【冲破内核瓶颈,让I/O性能飙升】DPDK工程师手册,官方文档,最新视频,开源项目,实战案例,论文,大厂内部ppt,知名工程师一览表
904
star
17

developkit_set

2021年最新总结,值得推荐的c/c++开源框架与库。持续更新中。
799
star
18

kernel_memory_management

总结整理linux内核的内存管理的资料,包含论文,文章,视频,以及应用程序的内存泄露,内存池相关
701
star
19

enterprise_job_recommend

2023年 最新整理暑假实习(含Java,前端,测试,c++,嵌入式,算法岗),base(北京,上海,广州,深圳,杭州,西安,成都,南京),每周定时更新
601
star
20

Introduce_to_virtualization

500篇关于虚拟化的经典资料,含CPU虚拟化,磁盘虚拟化,内存虚拟化,io虚拟化。
427
star
21

newsql_nosql_library

整理12种数据库相关资料,mysql,mariaDB,Percona Server,MongoDB,Redis,RocksDB,TiDB,CouchDB,Cassandra,TokuDB,MemDB,Oceanbase
376
star
22

kernel_awsome_feature

深入研究 kvm,ceph,fuse特性,包含开源项目,代码案例,文章,视频,架构脑图等
371
star
23

backend_video

后端免费技术分享视频,包含Linux,RTSP RTMP, HLS, 流媒体, ffmpeg, WebRTC,golang,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,CDN,P2P,K8S,Docker,ffmpeg,TCP/IP,协程,DPDK
294
star
24

interview_experience

2021年最新整理,200位校招面经分享,包含微软,华为,腾讯,字节,阿里,360,tplink,好未来,网易,搜狗,wps等,研发岗位,C++研发岗位,安全岗位。
275
star
25

develop_skill_tree

2021年最新整理,名企校招各大岗位的技能树,含技术细节,Java,C/C++,前端,运维,测试,运营岗位。持续更新中
223
star
26

linux_environment_tools

总结linux环境开发工具,包含linux,虚拟机,编译器,编辑器,测试工具,加密工具
208
star
27

cpp_backend_awsome_blog

2023年最新整理 c++后端开发,1000篇优秀博文,含内存,网络,架构设计,高性能,数据结构,基础组件,中间件,分布式相关
122
star
28

students_blog_collection

学员学习过程,课程总结的文章集锦,包含linux c/c++服务器,音视频,内核,dpdk,golang
81
star
29

qt_interview_reference

2023年最新整理,qt开发最全面试集锦,含网络,文件系统,数据库,自定义控件,以及视频讲解,文档
60
star
30

influence_programmer

2022年,梳理100位具有影响力的程序员,包含大厂高p高t,开源作者,学术比赛,博客自媒体,书籍作者
39
star