算法练习 100 天 精华总结

Python与算法社区

已原创428篇,干货满满

值得星标

01

02

03

三步加星标

增强算法能力,不是一朝一夕的事,需要持久的付出努力,同时也要经常思考、反思和总结,不断去揣摩数据结构和算法的巧妙。

过去几个月,算法刷题日记里 600多位星友,一起走过100天刷题,今天做个简单总结。

刷题练习的数据结构,包括:

1. 一维结构:线性顺序存储的数组,线性乱序存储的链表,按桶装入数组的哈希结构,只在一头出入的特殊数组栈(包括单调栈),队列

2. 二维:非线性的二叉树;具有优先顺序、根要么最大或最小的堆结构,也是特殊的一种二叉树

3. 以及经常用到的双指针及特殊的快慢双指针:

 

基于以上数据结构,经常涉及到的算法有如下这些,其中:

1. 基础思维部分最符合我们的思考习惯;

2. 递归思维常和数学归纳分析相关;

3. 分治思维就是划大区间为小区间,分别治理后,重新合并的思维;

4. 哈希比较好理解,O(1)找到某个键的对应值;

5. 动态规划前100天并没有重点训练,因为它是所有算法中最需要训练的思维之一,状态转移方程并不是那么容易找到,但又是加速算法的常用技巧之一,AI训练模型的反向传播算法,强化学习智能体在环境中的学习过程,都是动态规划思维的具体应用;

6. 贪心求得最优解的场景其实不太多,往往实际中用来求得近似解;

7. 位运算有时解决问题干净利落;

8. 前缀和是一类特殊的结构,注意体会前缀和的解体技巧

不断揣摩,方能举一反三。

若你对程序员的必备算法有兴趣,或者想学习以上100天的具体题目和解答,以及想跟着队伍一起刷题365天,欢迎加入 算法刷题日记 知识星球:

凡是365天,打卡满300天的,退还所有费用,人格担保。

因此,加入这里,养成练习算法习惯,最后完全是免费的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值