力扣刷题全攻略

//本篇只是介绍大体内容和一些简单介绍

1使用的语言:

c/c++(不是适合你的语言也可以往下看,一定会有收获)

2如何看待博客,代码仓库,力扣/蓝桥杯等

博客:提供我写题时的思路以及好的算法和过程中遇到的问题

代码仓库:只是存放代码的

力扣/蓝桥杯:锻炼代码能力,听懂思路只是听懂,需要自己实践

注:即使语言不同,但思路是一样的,建议先做对应的题,没思路时来看博客,或者做完对应的题,来博客看看有没有更好的算法解决问题

//希望本人能和各位一起成长

//进步交流q群:920316260

//代码仓库//杨新全cc/力扣刷题 (gitee.com)

数据结构:

一:线性表

1:顺序表

(1)数组(总共1666题)

数组(1-5)/1666-CSDN博客

(2)字符串A:KMP B:字典树 C:AC自动机 D:BM E:后缀数组

2:链表

(1)单向链表

(2)双向链表

(3)跳舞链

(4)跳跃表

3:栈

(1)单向栈

4:队列

(1)循环队列

(2)双向队列

(3)单调队列

二:散列表

(1)哈希表A:计数 B:哈希函数 C:滚动哈希

三:树

1二叉树

(1)二叉搜索树

(2)平衡二叉树A:AVL树 B:线段树 C:红黑树 D:伸展树 E:可持久化线段树 F:主席树

(3)哈夫曼树

(4)堆

2非二叉树

(1)字典树

(2)B树

(3)B+树

四:图

1搜素算法

(1)深度优先搜素A:回溯 B:递归 C:分治

(2)广度优先搜索A:拓扑排序 B:SPFA C:Dijkstra +Heap

2概念

(1)有向图A:强连通分量

(2)无向图B:双连通分量

3回路

(1)欧拉回路

(2)哈米尔顿回路

五:并查集

1最小生成树

六:树状数组

算法:

一:枚举

1顺序枚举

(1)扫描线

2二分枚举(查找)

二:排序

1比较排序

(1)简单排序A:冒泡排序 B:选择排序 C:插入排序

(2)进阶排序A:归并排序 B:快速排序 C:希尔排序

2非比较排序

(1)基数排序

(2)计数排序

(3)桶排序

(4)堆排序

三:双指针

1滑动窗口

2快门指针

四:贪心

五:模拟

六:动态规划

1递推

2线性DP

(1)前缀和

(2)前缀最值

3记忆化搜索

4博弈DP

5状态压缩DP

6区间DP

7数位DP

8最短路

数学

一:概率与统计

1随机化

二:位运算

1位或

2位与

3异或

4按位取反

5左移

6右移

三:几何

1计算几何

2解析几何

四:组合数学

1容斥原理

2鸽巢原理

五:数论

其他

一:设计

二:数据流

三:交互

四:迭代器

五:多线程

六:数据库

七:shell

八:水塘抽样

九:拒绝采样

十:脑筋急转弯

你可能感兴趣的:(算法与数据结构,leetcode,算法,数据结构)