- 博客(13)
- 资源 (10)
- 收藏
- 关注
原创 01背包问题(回溯法)python实现
接上一篇,同样的01背包问题,上一篇采用动态规划的方法,现在用回溯法解决。回溯法采用深度优先策略搜索问题的解,不多说,代码如下:bestV=0curW=0curV=0bestx=Nonedef backtrack(i): global bestV,curW,curV,x,bestx if i>=n: if bestV<curV: bestV=curV bestx=
2014-05-22 21:00:14 14817 2
原创 01背包问题(动态规划)python实现
在01背包问题中,在选择是否要把一个物品加到背包中,必须把该物品加进去的子问题的解与不取该物品的子问题的解进行比较,这种方式形成的问题导致了许多重叠子问题,使用动态规划来解决。n=5是物品的数量,c=10是书包能承受的重量,w=[2,2,6,5,4]是每个物品的重量,v=[6,3,5,4,6]是每个物品的价值,先把递归的定义写出来: 然后自底向上实现,代码如下:def
2014-05-22 12:13:27 41392 10
原创 活动安排问题python实现
活动安排问题要求高效地安排一系列争用某一公共资源的活动,贪心算法提供了一个简单的方法,使尽可能多的活动能兼容地使用公共资源。贪心算法并不总能求得问题的整体最优解,但对于活动安排问题,贪心算法却能做到,使得最终所确定的相容活动集合的规模最大,证明不在这里给出。代码如下:def greedyManage(meeting): length=len(meeting) meeting.sort(ke
2014-05-21 10:24:40 6453 1
原创 python3自动爬笑话
学校的服务器可以上外网了,所以打算写一个自动爬取笑话并发到bbs的东西,从网上搜了一个笑话网站,感觉大部分还不太冷,html结构如下: 可以看到,笑话的链接列表都在里面,用正则表达式可以把最近的几个笑话地址找出来,再进到一个笑话页面看下: 每一个笑话页面里面是有多个小笑话组成的,全部在标签下,每个小笑话又单独一个包裹,这样非常容易
2014-05-13 11:04:46 7658 3
原创 最长公共子序列python实现
最长公共子序列是动态规划基本题目,下面按照动态规划基本步骤解出来。1.找出最优解的性质,并刻划其结构特征序列a共有m个元素,序列b共有n个元素,如果a[m-1]==b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是a[:m-1]和b[:n-1]的最长公共子序列长度+1;如果a[m-1]!=b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是MAX(a[:m-1]和
2014-05-12 17:05:26 27262 2
原创 【从0开始Tornado建站】发表文章和评论
先上个效果图:这是每个用户的主页,因为是基本功能,所以用户头像,爱好等信息都还没有,在下一阶段加上。右侧“发表新文章”按钮点击后进入发表文章的页面:之前尝试过一些开源的富文本编辑器widgEditor和百度的ueditor,总感觉太大众化,既然域名是hacker,那就用hack一些的方式,直接用裸的然后用markdown格式就最棒了嘛,发表后的样子:
2014-05-11 21:12:25 4962 2
原创 【从0开始Tornado建站】群聊
群聊的前台主要代码:{%block content%}测试版本,每天凌晨4:00清水,enjoy it~~:-)--> {%for i in content[19*int(num)-19:19*int(num)]%} 【{{i[1]}}】 ({{i[3]}}) : {{i[2]}} {%end%} {%for i in range(1,pages+1)%} {{i}} {%
2014-05-11 20:35:19 3425
原创 【从0开始Tornado建站】显示所有注册用户
显示注册用户的前台主要代码如下:{%block content%} {%for i in users%} {{i[1]}}({{i[3]}}星级) {%end%} {%end%}显示注册用户的后台代码如下:class memberHandler(tornado.web.RequestHandler): def get(self): name=self.get_coo
2014-05-11 20:24:33 3662
原创 【从0开始Tornado建站】主页的登录和显示最新文章
登录只要放在主页就可以了,这里为了美观,把用bootstrap的form-inline类修饰,如下样子:前台代码如下:{%extends 'main.html'%}{%block header%} 首页 成员 群聊 {%if not cookieName%} 用户名 密码 登录 无帐号,请点击注册 {
2014-05-11 20:10:09 6990 3
原创 【从0开始Tornado建站】注册
基本的注册功能有用户名、密码和密码确认,当然邮箱确认和基本信息填写在高阶的时候完善,现在只完成基本功能。在register.html写如下内容:{%extends 'main.html'%}{%block content%}注册用户名不支持中文 用户名 密码 确认密码 注册 已有帐号,请直接登录{%end%}效果图如下
2014-05-11 10:12:25 6164 3
原创 【从0开始Tornado建站】总体设计
Tornado是一个非阻塞的web服务器,也是python的web框架中非常优秀的一款。网上关于django的tutorial非常多而且详细,关于tornado的使用就非常少了,我想以我从0开始的方式一步一步用这个优秀的tornado框架建一个小网站,一方面加深自己的理解,另一方面接受大家的建议和批评,更加进步~ 我想建的是一个普通的网站,有登录、注册、发表文章、发表评论、群聊等
2014-05-11 09:51:07 9274 2
原创 棋盘覆盖问题python3实现
在2^k*2^k个方格组成的棋盘中,有一个方格被占用,用下图的4种L型骨牌覆盖所有棋盘上的其余所有方格,不能重叠。 代码如下:def chess(tr,tc,pr,pc,size): global mark global table mark+=1 count=mark if size==1: return half=size//2 if pr<t
2014-05-08 11:24:53 13891 6
原创 大整数乘法python3实现
由于python具有无限精度的int类型,所以用python实现大整数乘法是没意义的,但是思想是一样的。利用的规律是:第一个数的第i位和第二个数大第j位相乘,一定累加到结果的第i+j位上,这里是从0位置开始算的。代码如下:import sysdef list2str(li): while li[0]==0: del li[0] res='' for i in li: res+
2014-05-07 15:13:30 14878
jquery-1.7.1 最新版本
2011-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人