计算机视觉学习记录
避免重复造轮子
贪心算法 贪心算法
📰 基本概念对于一组数据,定义了限定值(比如重量不大于100KG)和期望值(物品总价值最高),希望从中选取几个数据,在满足限定值的情况下,期望值最大。 贪心算法每一步都会采取当前状态下最有利的选择,从而希望得到最优解。但由于前面的选择会影
栈:实现浏览器的前进与后退 栈:实现浏览器的前进与后退
栈的基本概念 栈也是线性表的一种,先进后出 只允许在一端进行数据的插入和删除(栈顶) 当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构
链表:实现LRU缓存淘汰算法 链表:实现LRU缓存淘汰算法
王争《数据结构与算法之美》课程笔记 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行数据淘汰。 我们建立一个有序单链表,越靠近链表尾部的结点是越早之前访问的。当有一个新的数据被访问时,我们
数组索引为何从0开始 数组索引为何从0开始
在大部分编程语言中,为什么数组都是从 0 开始编号,而不是从1开始呢? 因为,从数组存储的内存模型上来看,“下标”最确切的定义应该是“偏移(offset)”。如果用 a 来表示数组的首地址,a[0] 就是偏移为 0 的位置,也就是首地址
算法复杂度分析 算法复杂度分析
数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。 一.为何要进行复杂度分析直接将代码跑一遍,统计得到算法运行的时间和内存占用,即事后统计法,存在以下