All Projects → 0voice → algorithm-structure

0voice / algorithm-structure

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

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to algorithm-structure

cmu15-445
💾 CMU 15-445/645: Intro to Database Systems (Fall 2017). A course on the design and implementation of database management systems.
Stars: ✭ 115 (-80.51%)
Mutual labels:  bplustree
bloomfilter
Bloomfilter written in Golang, includes rotation and RPC
Stars: ✭ 61 (-89.66%)
Mutual labels:  bloom-filter
vue-apicloud-cli
基于vue的APICloud脚手架
Stars: ✭ 44 (-92.54%)
Mutual labels:  rsa
crypton
A simple Dart library for asymmetric encryption and digital signatures
Stars: ✭ 25 (-95.76%)
Mutual labels:  rsa
fluffychat
🐑 Decentralized chat with private messages and rooms. Messages and files are encrypted using RSA
Stars: ✭ 25 (-95.76%)
Mutual labels:  rsa
interesting-keys
Interesting collected (leaked) encryption/decryption keys
Stars: ✭ 33 (-94.41%)
Mutual labels:  rsa
ntHash
Fast hash function for DNA sequences
Stars: ✭ 66 (-88.81%)
Mutual labels:  bloom-filter
py-algorithms
Algorithms and Data Structures, solutions to common CS problems.
Stars: ✭ 26 (-95.59%)
Mutual labels:  quick-sort
RedBlackTree-An-Intuitive-Approach
Demystifying Red Black Trees
Stars: ✭ 26 (-95.59%)
Mutual labels:  red-black-tree
Cryptography-Guidelines
Guidance on implementing cryptography as a developer.
Stars: ✭ 15 (-97.46%)
Mutual labels:  rsa
rsa-js-php
php+js配合用RSA加解密
Stars: ✭ 28 (-95.25%)
Mutual labels:  rsa
Detect-CVE-2017-15361-TPM
Detects Windows and Linux systems with enabled Trusted Platform Modules (TPM) vulnerable to CVE-2017-15361. #nsacyber
Stars: ✭ 34 (-94.24%)
Mutual labels:  rsa
algorithm coding
推荐算法、相似度算法、布隆过滤器、均值算法、一致性Hash、数据结构、leetcode练习
Stars: ✭ 30 (-94.92%)
Mutual labels:  bloom-filter
hashlookup-forensic-analyser
Analyse a forensic target (such as a directory) to find and report files found and not found from CIRCL hashlookup public service - https://circl.lu/services/hashlookup/
Stars: ✭ 43 (-92.71%)
Mutual labels:  bloom-filter
dtls
Datagram Transport Layer Security (DTLS) client.
Stars: ✭ 72 (-87.8%)
Mutual labels:  rsa
bbst-showdown
Fast AVL Trees & WAVL Trees in Java
Stars: ✭ 24 (-95.93%)
Mutual labels:  red-black-tree
fastbloom
A simple but fast bloomfilter written in Python
Stars: ✭ 21 (-96.44%)
Mutual labels:  bloom-filter
encryptlab
🔑 Comprehensive (and free) list of encryption and decryption in Node.js.
Stars: ✭ 80 (-86.44%)
Mutual labels:  rsa
dart crypto
[Flutter] 本项目基于flutter_macos_v0.5.8-dev版本采用Dart语言开发。`DYFCryptoProvider`集成了Base64, 32/16 Bits MD5, AES, RSA等算法。(This Flutter project is developed in Dart language based on flutter_macos_v0.5.8-dev. `DYFCryptoProvider` integrates Base64, 32/16 Bits MD5, AES and RSA algorithms.)
Stars: ✭ 30 (-94.92%)
Mutual labels:  rsa
esp32-weather-google-sheets
Weather station based on ESP32 and MicroPython with sending data to Google Sheets
Stars: ✭ 48 (-91.86%)
Mutual labels:  rsa

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学习文档!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].