自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 python中的闭包

闭包闭包是一种现象,弱数据类型语言特有的概念:在函数的内部可以去调用其他函数的变量的现象(函数的变量是局部变量,作用域是函数本身)函数包裹着函数的现象就是闭包defouter():print(“这是一个闭包函数”)a=10definner():print(“这是函数里面的代码”)b=20print(a+b)#returninner()returninnerres=outer()print(res)#指向函数res()调用函数的本质压栈的过程python中不建议使用闭包,因为会让函数常驻到内存,导致垃圾不能

2021-05-16 03:44:29 265

原创 贪心算法-活动选择问题(python实现)

贪心算法-活动选择问题假设有n个活动,这些活动要占⽤同⼀⽚场地,⽽场地在某时刻只能供⼀个活动使⽤。每个活动都有⼀个开始时间si和结束时间fi(题⽬中时间以整数表示),表示活动在[si, fi)区间占⽤场地。问:安排哪些活动能够使该场地举办的活动的个数最多?activities = [(1,4), (3,5), (0,6), (5,7), (3,9), (5,9), (6,10), (8,11), (8,12), (2,14), (12,16)]# 保证活动是按照结束时间排好序的acti

2021-05-07 02:00:03 3705 3

原创 贪心算法-拼接最大数字问题(python实现)

贪心算法-拼接最大数字问题有n个⾮负整数,将其按照字符串拼接的⽅式拼接为⼀个整数。如何拼接可以使得得到的整数最⼤?例:32,94,128,1286,6,71可以拼接除的最⼤整数为94716321286128from functools import cmp_to_keyli = [32, 94, 128, 1286, 6, 71]def xy_cmp(x, y): if x+y < y+x: return 1 elif x+y > y+x:

2021-05-07 01:55:57 1757 1

原创 贪心算法-背包问题(python实现)

贪心算法-背包问题⼀个⼩偷在某个商店发现有n个商品,第i个商品价值vi元,重wi千克。他希望拿⾛的价值尽量⾼,但他的背包最多只能容纳W千克的东⻄。他应该拿⾛哪些商品?0-1背包:对于⼀个商品,⼩偷要么把它完整拿⾛,要么留下。不能只拿⾛⼀部分,或把⼀个商品拿⾛多次。(商品为⾦条)分数背包:对于⼀个商品,⼩偷可以拿⾛其中任意⼀部分。(商品为⾦砂)举例:商品1:v1=60 w1=10商品2:v2=100 w2=20商品3:v3=120 w3=30背包容量:W=50 goods = [(6

2021-05-07 01:52:56 3464

原创 贪心算法-找零问题(python实现)

贪心算法贪⼼算法(⼜称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪⼼算法并不保证会得到最优解,但是在某些问题上贪⼼算法的解就是最优解。要会判断⼀个问题能否⽤贪⼼算法来计算。找零问题找零问题假设商店⽼板需要找零n元钱,钱币的⾯额有:100元、50元、20元、5元、1元,如何找零使得所需钱币的数量最少?from functools import cmp_to_keyli = [32, 94, 12

2021-05-07 01:49:05 1389

原创 基数排序(python语言实现)

基数排序基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog®m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法def radix_sort(li): max_num = max(li) # 最大值 9->1

2021-05-07 01:44:05 160

原创 桶排序(python语言实现)

桶排序桶排序(Bucket Sort):将元素分在不同的桶中,在对每个桶中的元素排序。桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。def bucket_sort(li, n=100,

2021-05-07 01:39:47 475

原创 计数排序(python语言实现)

计数排序排序过程编辑假设输入的线性表L的长度为n,L=L1,L2,…,Ln;线性表的元素属于有限偏序集S,|S|=k且k=O(n),S={S1,S2,…Sk};则计数排序可以描述如下:1、扫描整个集合S,对每一个Si∈S,找到在线性表L中小于等于Si的元素的个数T(Si);2、扫描整个线性表L,对L中的每一个元素Li,将Li放在输出线性表的第T(Li)个位置上,并将T(Li)减1def count_sort(li, max_count=100): count = [0 for _ in

2021-05-07 01:34:41 116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除