- 博客(13)
- 收藏
- 关注
转载 设计模式之前言
1. 模式 在一定环境中解决某一问题的方案,包括三个基本元素:问题、解决方案和环境。2. 设计模式 (1)设计模式是一套反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。毫无疑问,设计模式于系统是多赢的。 (2)设计模式使代码编制真正工程化。设计模式是软件工程的基石脉络,如同桥梁的结构一...
2019-07-21 21:46:00
194
转载 十大经典排序算法的python实现
十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。包括:冒泡排序、选择排序、归并排序、快速排序、插入排序、希尔排序、堆排序等。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。包括...
2018-09-03 13:51:00
169
转载 非极大值抑制
1 算法原理 非极大值抑制算法(Non-maximum suppression, NMS)抑制不是极大值的元素,搜索局部的极大值。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。 在3领域中,假设一个行向量的长度为w,从左向右,由第一个到第w个和其3领域中的数值进行比对。 (1)情况1:如果某个i大于i+1并且小于i-1,则其为一个绝不...
2018-08-22 14:03:00
283
转载 图像处理——主成分分析
1 引言 1.1 维度灾难 分类为例:如最近邻分类方法(基本思想:以最近的格子投票分类) 问题:当数据维度增大,分类空间爆炸增长。如图1所示, 图1 维度增加示意图 1.2 解决方法 缓解维度遭难的一个重用途径是降维。降维是通过某种数学变换,将原始高维属性空间转换为一个低维...
2018-08-21 21:48:00
4709
转载 数据结构——二叉树、二叉查找树
参考:Mark Allen Weiss 著《数据结构与算法分析——C语言描述》(第二版)主要内容:二叉树及二叉查找树一、二叉树1 二叉树定义 二叉树是一棵每个节点都不能有多于两个儿子的树2 实现 2.1 实现思路 因为一个二叉树最多有两个儿子,所以我们可以用指针直接指向它们。 2.2 实现代码typedef struct Tree...
2018-08-13 20:12:00
136
转载 数据结构——树
参考:Mark Allen Weiss 著《数据结构与算法分析——C语言描述》(第二版)1 树的定义 一棵树是一些节点的集合。这个集合可以是空集;若非空,则是一棵树由称作根的节点r以及0个或者多个非空的子树组成。这些子树中每一棵的根都被来自根 r的一条有向的边所连接。图1 就是一棵具体的树, 图1 一棵具体的树2 树中的基...
2018-08-13 19:14:00
165
转载 python——作用域之LEGB规则
1 变量的作用域 Python是静态作用域,也就是说在Python中,变量的作用域源于它在代码中的位置;在不同的位置,可能有不同的命名空间。命名空间是变量作用域的体现形式。2 LEGB各自代表的含义 2.1 L-Local 函数内的命名空间。作用范围:当前整个函数体范围。 2.2 E-Enclosing function locals 外部嵌套函数的命...
2018-08-12 19:52:00
455
转载 python——函数之生成器
1 生成器函数的含义 生成器是一个返回可以迭代对象的函数,它是一个特殊的迭代器,但迭代器的抽象层级更高且比较复杂需要实现很多方法。相较迭代器而言,生成器简单使用。2 生成器的创建方式 2.1 生成器表达式 把列表推导式的[] 修改为(),如(i for i in range(1, 10000) if i % 2 == 0) 代码执行界面如下...
2018-08-12 18:40:00
313
转载 python——函数之装饰器
1 问题 实际生活中,我们很难一次性就把一个函数代码写得完美无缺。当我们需要对以前的函数添加新功能时,我们应该怎么做?2 问题解决思路 (1)可以直接修改原来的函数,在函数内直接修改。当我们对多个函数都新增这个功能时,这样修改显得代码冗余。 (2)采用装饰器来解决。装饰器是python里面的一种特殊函数(装饰其它函数),它可以在函数名以及函数体不改变的前提下...
2018-08-12 16:27:00
114
转载 python——虚拟环境之pipenv的安装及使用(windows10,64位)
1 简介 pipenv是requests作者的一个项目,整合了virtualenv、pip、pipfile,用于更方便地为项目建立虚拟环境并管理虚拟环境中的第三方模块。不需要再分别使用pip和virtualenv,直接使用pipenv即可。它使用Pipfile和Pipfile.lock 取代了requirements.txt。2 安装pipenv 2.1 ...
2018-08-10 21:01:00
1955
转载 python——虚拟环境之virtualenvwrapper-win(windows10,64位)
1 问题描述 当M个项目需要N个版本的python环境配置时(M>N)时,我们没有必要对每个项目都创建一个虚拟环境,只需要创建N个虚拟环境即可。这样节省了大量存储空间(特别是当M远大于N时)。但要怎么进行创建这N个环境并对这些环境进行管理呢?2问题解决思路 通过三方包virtualenvwrapper-win来解决。virtualenvwrapper-win...
2018-08-10 19:17:00
244
转载 python——虚拟环境之virtualenv(windows10,64位)
1 问题 当我们拥有两个甚至多个项目A、B、C......,各个项目正常运行需求的python运行环境都不相同。而默认情况下,不管哪个项目,使用的都是全局的Python环境。上述情况,造成的问题就是,A、B、C等项目,只能运行一个;如果运行另一个,必须安装与之匹配的库版本。2 解决思路 创建一个完全独立的局部python环境(或叫做虚拟环境)。在此环境中,安装所有与...
2018-08-10 17:35:00
259
转载 python——python3.6环境搭建(Windows10,64位)
1.python软件资源下载 1.1 打开python官网地址:https://www.python.org 1.2 根据自己电脑的设置选择下载合适的python3.6.2 1.3 此处选择windows10,64位的Windows x86-64 executable installer,网页上点击Windows x86-64 executable inst...
2018-08-10 00:03:00
371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人