- 博客(8)
- 资源 (8)
- 收藏
- 关注
原创 python——适用于py3的pillow图像处理模块&plist组图分割
首先说明一下PIL库,PIL(Python Imaging Library)是Python一个强大方便的图像处理库,之前的博客也有用到过PIL模块的demohttp://blog.csdn.net/sm9sun/article/details/53538579不过可惜的是PIL库只支持到Python 2.7。python3以后,我们可以用pillow模块来代替PIL,pillow是PI
2017-08-30 11:39:46 5564 2
原创 全排列及相关扩展算法(七)——组合数的字典序(另含全章代码整理)
1.引入概念:要列出一个集合{1,2,3,4}的所有子集是很容易的,我们可以按照二进制数的顺序,0000,0001,0010,0011,0100,0101,0110,0111......来表示我们要取的元素,其中0表示不取,1表示取,这样就获得了一个顺序。而组合也包含在这个顺序当中。我们看从{1,2,3,4}中选取两个元素的所有组合:0000 0001 0010 0011 0100 010
2017-08-18 18:24:15 1855
原创 全排列及相关扩展算法(六)——全排列最蛋疼的算法:邻位对换法
1.引入原因:在此之前我们实现全排列本质上都是采用单向交换的思路,当交换到末端便要回溯至上一层面,如果我们采用双向的交换,便可以不断地交换下去,于是产生了邻位对换法。邻位对换法在找下一个排列的方法上在很多情况下要比字典序算法要快上许多,因为每次的下一个排列只是交换两个相邻的元素,当然缺点就是到左端或者右端时要进行找最大可移动数的计算,故最终整体效率也没什么提升,所以称之为最蛋疼的全排列算法。
2017-08-18 18:07:43 2756
原创 全排列及相关扩展算法(五)——递增(递减)进位制数求原排列算法
1.引入原因:通过上一章我们意识到通过原始中介数求原排列并不是那么的方便,于是我们延伸出几种新的中介数算法来方便计算原排列。2.递增进位制数法:递增进位制是指数字的进制随着数字位置的不同递增,一般的,最右位的进制为2,向左依次增1。用递增进位制数法改造的中介数即:我们不按照从左到右的顺序排,而是按照数字的大小来排。以上一章{ 7,6,8,3,4,5,1,2 }为例,其原始中介数为{6,5,5,
2017-08-17 20:59:52 3754
原创 全排列及相关扩展算法(四)——原始中介数通过逆推求原排列算法
1.中介数逆推原排列:上一章我们讲到了中介数,通过一个排列可以很方便地求数它的中介数,通过中介数也可以很方便地求出排位序号。但是通过中介数逆推原排列就不是那么容易了。因为我们每求一位数,都需要对比其前面所有的数来获取他的定位,以上一章{ 3,4,5,6,7,2,1 }为例,得到的{2,2,2,2,2,1}中介数,第一位我们可以直接得出3,第二位本应也是3,但是考虑前面已经有3了,所以第二位就只能是4,以此类推……即:如果之前存在某排位i小于等于当前排位,那么当前排位所对应的数需要再加上1
2017-08-17 10:29:47 1982
原创 全排列及相关扩展算法(三)——利用中介数求排列在字典序排位算法
1.中介数的定义及作用:很多时候,我们要通过一个排列得出它的字典序中的位置(序号),比如1234567应该排在第0位(开始位),1234576应该排在第1位,7654321排在第7!-1=5039位。当然,我们可以通过计算Next_Permutation函数的迭代次数来得到这个数据,但这样时间复杂度最差为O(n!),是非常不划算的,因为我们仅仅要求一个数的位置。所以我们要先从数学的角度去计算这个问
2017-08-16 20:46:24 3655
原创 全排列及相关扩展算法(二)——求字典序下一组排列及全排列算法
1.字典序排列的定义:为了便于理解,以数字为例,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列 12354和12345,排列12345在前,排列12354在后。按照这样的规定,5个数字的所有的排列中最前面的是12345,最后面的是 54321。2.字典序排列解决思路:参考上文中(1,2,3,4)全排列的输出截图最后输
2017-08-16 16:33:14 1308
原创 全排列及相关扩展算法(一)——基础的回溯递归实现全排列算法
1.全排列的定义和公式: 从n个数中选取m(m2.时间复杂度: n个数(字符、对象)的全排列一共有n!种,所以全排列算法至少时O(n!)的。如果要对全排列进行输出,那么输出的时间要O(n*n!),因为每一个排列都有n个数据。所以实际上,全排列算法对大型的数据是无法处理的,而一般情况下也不会要求我们去遍历一个大型数据的全排列。3.全排列算法解决思路:假设现有1 2 3 三个数,我们构造全
2017-08-16 14:28:22 2799
plist组图分割demo
2017-08-30
protobuf完整工程包
2017-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人