牛! 这个小伙的刷题项目开源GitHub,真的超级全和详细!
Posted GitHub爱好者社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛! 这个小伙的刷题项目开源GitHub,真的超级全和详细!相关的知识,希望对你有一定的参考价值。
Hello,大家好,我是GG哥!
今天给大家分享一个算法题刷题笔记开源项目,随着大厂对算法越来越重视,算法在无论在社招面试,还是在校招面试中,都是非常重要的。今天推荐的是一个博主把他刷过的题,都放在了GitHub开源项目中。非常值得一看。
学习方法
-
把所有经典算法写一遍 -
看算法有关源码 -
加入算法学习社区,相互鼓励学习(加我vx:xiaofeilong946, 备注入群理由, 拉你入群) -
看经典书籍 -
刷题
基本数据结构和算法
这些算法全部自己敲一遍:
链表
-
链表 -
双向链表
哈希表/散列表 (Hash Table)
-
散列函数 -
碰撞解决
字符串算法
-
排序 -
查找 -
BF算法 -
KMP算法 -
BM算法 -
正则表达式 -
数据压缩
树
-
二叉树 -
二叉查找树 -
伸展树(splay tree 分裂树) -
平衡二叉树AVL -
红黑树 -
B树,B+,B* -
R树 -
Trie树(前缀树) -
后缀树 -
最优二叉树(赫夫曼树) -
二叉堆 (大根堆,小根堆) -
二项树 -
二项堆 -
斐波那契堆(Fibonacci Heap)
图的算法
-
图的存储结构和基本操作(建立,遍历,删除节点,添加节点) -
最小生成树 -
拓扑排序 -
关键路径 -
最短路径: Floyd,Dijkstra,bellman-ford,spfa
排序算法
交换排序算法
-
冒泡排序 -
插入排序 -
选择排序 -
希尔排序 -
快排 -
归并排序 -
堆排序
线性排序算法
-
桶排序
查找算法
-
顺序表查找:顺序查找 -
有序表查找:二分查找 -
分块查找:块内无序,块之间有序;可以先二分查找定位到块,然后再到 块
中顺序查找 -
动态查找: 二叉排序树,AVL树,B- ,B+ (这里之所以叫 动态查找表
,是因为表结构是查找的过程中动态生成的) -
哈希表:O(1)
15个经典基础算法
-
Hash -
快速排序 -
快递选择SELECT -
BFS/DFS (广度/深度优先遍历) -
红黑树 (一种自平衡的 二叉查找树
) -
KMP 字符串匹配算法 -
DP (动态规划 dynamic programming) -
A*寻路算法:求解最短路径 -
Dijkstra:最短路径算法 (八卦下:Dijkstra是荷兰的计算机科学家,提出”信号量和PV原语“,"解决哲学家就餐问题",”死锁“也是它提出来的) -
遗传算法 -
启发式搜索 -
图像特征提取之SIFT算法 -
傅立叶变换 -
SPFA(shortest path faster algorithm) 单元最短路径算法
海量数据处理
-
Hash映射/分而治之 -
Bitmap -
Bloom filter(布隆过滤器) -
Trie树 -
数据库索引 -
倒排索引(Inverted Index) -
双层桶划分 -
外排序 -
simhash算法 -
分布处理之Mapreduce
算法设计思想
-
迭代法 -
穷举搜索法 -
递推法 -
动态规划 -
贪心算法 -
回溯 -
分治算法
算法题目选编
这是一个算法题目合集,题目是我从网络和书籍之中整理而来,部分题目已经做了思路整理。问题分类包括:
-
字符串 -
堆和栈 -
链表 -
数值问题 -
数组和数列问题 -
矩阵问题 -
二叉树 -
图 -
海量数据处理 -
智力思维训练 -
系统设计
还有部分来自算法网站和书籍:
-
九度OJ -
leetcode -
剑指offer
开源项目中的算法
-
YYCache -
cocos2d-objc -
...
推荐阅读
刷题必备
-
《剑指offer》 -
《编程之美》 -
《编程之法:面试和算法心得》 -
《算法谜题》 都是思维题
基础
-
《编程珠玑》Programming Pearls -
《编程珠玑(续)》 -
《数据结构与算法分析》 -
《Algorithms》 这本近千页的书只有6章,其中四章分别是排序,查找,图,字符串,足见介绍细致
算法设计
-
《算法设计与分析基础》 -
《算法引论》 告诉你如何创造算法 断货 -
《Algorithm Design Manual》算法设计手册 红皮书 -
《算法导论》 是一本对算法介绍比较全面的经典书籍 -
《Algorithms on Strings,Trees and Sequences》 -
《Advanced Data Structures》 各种诡异高级的数据结构和算法 如元胞自动机、斐波纳契堆、线段树 600块
延伸阅读
-
《深入理解计算机系统》 -
《TCP/IP详解三卷》 -
《UNIX网络编程二卷》 -
《UNIX环境高级编程:第2版》 -
《The practice of programming》 Brian Kernighan和Rob Pike -
《writing efficient programs》 优化 -
《The science of programming》 证明代码段的正确性 800块一本
好了...
现在是真的结束了...
我已经夸不动了...
千言万语化成一句,这么优秀的仓库,大家多多给仓库创建者 star 支持,你们的 star 是万千开源者源源不断创作的动力!
当然还有多多对我的 在看转发 支持啦,你们的“在看转发”也是我源源不断创作的动力呀...
好啦,今天的分享就到这儿啦,我们下次见啦~
GitHub原创推荐
•
•
•
•
关注「Github爱好者社区」加星标,每天带你逛Github好玩的项目
以上是关于牛! 这个小伙的刷题项目开源GitHub,真的超级全和详细!的主要内容,如果未能解决你的问题,请参考以下文章
吃完 300 道 LeetCode 题后,我胖得快炸了!with Java
资源| 火爆Github!这套LeetCode 刷题模板也太实用了