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