![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
课程学习
Yummy_Ou
这个作者很懒,什么都没留下…
展开
-
【学习】动态规划算法 + LC代码
目录动态规划应对问题动态规划四大步骤1. 确定状态1.1 最后一步1.2 子问题如果用递归方法解?会有什么问题?2. 转移方程3. 初始条件和边界条件4. 计算顺序代码1. LC322. 零钱兑换2. LC63. 不同路径 II学习资料为B站视频:【动态规划专题班】动态规划入门 Introduction to Dynamic Programming动态规划应对问题动态规划四大步骤以类似LC322. 零钱兑换/硬币兑换为基础讲解题目:你有三种硬币:2、5、7元,每种足够多枚买一本书27元原创 2020-09-06 05:58:00 · 350 阅读 · 0 评论 -
【学习】数据结构与算法之美——基础篇笔记 链表
目录06 链表(上):如何实现LRU缓存淘汰算法?链表与数组的区别1. 底层存储结构2. 插入删除、随机访问3. 关于时间和空间的思考常见的链表结构单链表循环链表双向链表双向循环链表思考06 链表(上):如何实现LRU缓存淘汰算法?链表与数组的区别1. 底层存储结构数组:连续的内存空间,对内存要求较高,若内存空间不够会申请失败;若声明数组过小则不够用,需要再申请一个更大的空间并拷贝过去链表:不需要连续,通过指针连接一组零散的内存块 ,无大小限制2. 插入删除、随机访问原创 2020-08-13 00:03:00 · 182 阅读 · 0 评论 -
【学习】数据结构与算法之美——基础篇笔记 数组
目录05 数组什么是数组数组的下标随机访问低效的“插入”和“删除”与巧思1. 插入操作2. 删除操作注意访问越界问题容器 VS 数组0605 数组什么是数组数组是线性表中的一种数组使用连续的存储空间,存储一组相同类型的数据数组的下标随机访问通过寻址公式,计算出该元素存储的内存地址a[i]_address = base_address + i * data_type_size值得注意的是,数组的的内存地址分配是[0]在低位,[n-1]在高位。低效的“插入”和“删除”与巧思1. 插入原创 2020-07-25 06:14:04 · 178 阅读 · 0 评论 -
【学习】数据结构与算法之美——入门篇笔记
01 学习数据结构与算法的重要性虽然现在已经有很多框架可以使用,但是背后的原理不懂,如何取舍选择哪种框架?代码的可读性、健壮性,还是扩展性固然重要,但我们至少要学会评估代码的性能和资源的消耗。虽然现在在学校做科研主要最求的是功能的实现,但到了公司,面对千万级甚至亿级的用户,开发的是 TB、PB 级别数据的处理系统,性能的重要性就体现了出来。比如array和linked list的选择,可能产生巨大的差别。所以,学习数据结构和算法,目的是建立时间复杂度、空间复杂度意识,写出高质量的代码,能够设计基础架原创 2020-07-22 05:50:52 · 222 阅读 · 0 评论