极客大学 "算法训练营" 第一期 刻意练习一个月, 毕业总结

博主分享了参加极客大学数据结构与算法训练营的经历,通过阅读王争老师的专栏文章,理解并实践各种数据结构和算法,深化了对编程的理解。在学习过程中,博主探讨了HashMap、Arrays.sort等工业实现中的数据结构与算法,并开始刷LeetCode题目以提升实战能力。此外,博主还强调了学习氛围和同行交流的重要性,认为这是不断提升自我技能的关键。
摘要由CSDN通过智能技术生成

      毕业6年左右, 在工作中真真不需要使用到算法, 只是不断地谈业务需求, 实现业务功能, 产品上线, 自己是积累了一定的业务能力和一些管理经验. 但是有时静下心来, 对于一个程序媛来讲, 不由得觉得心虚. 于是决定还是要提升自己的代码能力和逻辑思维能力. 看到极客大学举办的数据结构与算法课程, 毫不犹豫就报了名, 作为重拾算法的起点吧.

      一个多月的算法学习, 基本历程如下:

      首先, 阅读王争老师的<<数据结构与算法之美>>专栏, 该专栏对数据结构和算法的讲解确实很细致, 既简易清晰, 又不乏有深度. 对于数据结构与算法基础为0或相关基础比较薄弱的初学者, 确实是首选, 学习起来也不会枯燥乏味. 每每了解一种数据结构和算法之后, 就忍不住自己也推算一遍, 并用自己熟悉的编程语言(java)实现一遍. 然后再对照专栏中代码样例, 找出自己代码的漏洞, 再进行思考总结, 比如边界条件考虑不周; 或者是思维方式, 解题思路需要转变, 比如动态规划解决0-1背包问题, 用二维数组来记录每层达到的不同状态, 那么用一维数组是否也可以解决问题呢, 这样还可以提高内存使用率…等等.每每需要修改的时候, 却也是收获满满的时候, 也体会到数据结构与算法之美呀.

       在学习数据结构与算法过程中, 也会去思考一些工业实现, 去琢磨其中使用到的数据结构与算法, 比如Java库中的HashMap, jdk8之前,内部实现是由数组+链表来实现; 在jdk8中的实现,当链表长度超过8时, 链表将转换为红黑树; 再比如Arrays.sort的底层实现, 对于基本数据类型, 采用双轴快速排序… 而对于对象数据类型, 会根据排序个数, 又采用不同的排序方式, 比如小于47个对象数据的排序, 采用插入排序…大于等于47但小于286个对象数据…采用快速排序, 大于等于286个对象数据, 采用归并排序. 当然我了解的也只是冰山一角, 但数据结构与算法确实是了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值