算法笔记·5-排序与查找
查找 线性(顺序)关系:数据项保存在列表这样的集合中。 顺序查找:按照顺序来访问和查找数据项;针对无序表当所要找的数据不在表中时查找需要遍历整个列表,而对于有序表可以设置一个提前结束标志减少计算量。但无论是有序表还是无序表其算法复杂度都为O(n)。 二分查找(binary search):对于有序表可以从中间项开始匹配,不断缩小表的规模知道找到数据…
算法笔记·6-树
非线性数据结构; 包括根,枝,叶三部分;也可以说由节点(node)和边(edge)组成; 层次化,各个子节点之间独立每个叶节点具有唯一性; 树中所有节点的最大曾经称为树的高度根节点所在的层级为0。 树的实现 嵌套列表实现 子树结构与树相同,是一种递归数据结构。 atree=['a',['left',[],[]…
算法笔记·4-递归
开头的碎碎念 个人认为,递归算法是一种十分优美的算法。它总是能够用十分短小的代码长度来解决许多复杂的问题。前端实际,在看快速傅里叶变换(FFT)时,看到递归算法仅用极小的代码量即可实现复杂的理论,内心感到十分的震撼。 将一个分问题不断拆分成更小的相同问题,其在算法上的特点就是调用自身。 结束条件 减小规模 调用自身 递归调用的实现:函数每次调用将现…
算法笔记·3
队列(queue) 队列的特征:先进先出(FIFO) 队列仅有一个入口和出口。添加数据处为尾端,移除数据处为首端。 队列的操作 如果将list的首端作为队列尾端,list的末端作为队列的首端。enqueue()的复杂度为O(n),dequeue()的复杂度为O(1)。 首位倒过来时复杂度也倒过来 双端队列(deque):队首和队尾都可以进行加入和移…
算法笔记·2
基本数据结构 线性结构(linear structure) 有序数据项的集合 每个数据项都有唯一的前驱和后继(第一个和最后一个除外) 根据数据项增减的方式构成了数据结构 栈(Stack)--仅在表尾进行插入和删除操作的线性表 队列(Queue)--只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作 双端队列(Deque…
算法笔记·1
抽象数据类型(ADT) 是对数据进行处理的一种逻辑描述,并不设计如何实现这些处理。 递归 编写递归代码要注意的三点: 递归总有一个最简单的情况---方法的第一条语句总是包含 return 的条件语句。 递归调用总是去尝试解决一个规模更小的子问题,这样递归才能收敛到最简单的情况。 递归调用的父问题和尝试解决的子问题之间不应该有交集。 算法分析 算法和…
Yolo学习笔记
基本概念 下采样即图像缩小;将x*x个像素点取均值换算为一个 上采样即图像放大,利用插值算法。 ground truth即监督学习中数据标注的正确的范围。也就是标准答案的意思。 IOU预测的范围(bounding box)与ground truth的交集/两者并集 bounding box(bbox) 在目标检测中不仅要知道目标的类别还要知道它的位…
Linux基础
终端操作 cd+文件夹名 进入文件夹 可以使用TAB键进行自动补全或选择 cd ..( 退出几层就加几个..) 退出到上n层路径 ls 显示文件夹中的目录 pwd 显示当前路径 gedit 使用文本编辑器编辑文件 cat 在终端中查看文件(多用做文本文件) sudo 进入管理员模式(超级用户) sudo su 进入根用户 nvidia-smi 查看…
苏菲的世界·3
启蒙 1.反抗权威 2.理性主义 3.启蒙运动 4.文化上的乐观态度 5.回归自然 6.自然宗教 7.人权 十八世纪前半,欧洲的哲学中心是在英国,十八世纪中期,是在法国,十八世纪末,则是在德国。 整个西方哲学,发源于希腊然后被罗马帝国传到整个欧洲。之后由西向东,英国,法国,德国。 康德 康德的概念是:时间与空间属于人类的条件。时、空乃是人类感知的方…
苏菲的世界·2
中世纪 中世纪( Middle Ages)(约公元476年~公元1453年),是欧洲历史上的一个时代(主要是西欧),自西罗马帝国灭亡(公元476年)到文艺复兴和大航海时代(15世纪末到17世纪)的这段时期。另有说法认为中世纪结束于文艺复兴和大航海时代。“中世纪”一词是15世纪后期的意大利人文主义者比昂多开始使用的。这个时期的欧洲没有一个强有力的政权…