摘要: python支持动态数据结构,因此无论什么对象都可以赋值给任意变量,动态数组list中也可以存放不同类型的对象。在实际工作中,经常会遇到一组不同类型的对象(比如一个整形代表标识、一个字符串代表描述、还有一个字典存储数据等等),其物理意义是描述同一个逻辑实体,类比到Cpp或Java就是一个类的各个属性。但是在python中缺不是必须要为这个逻辑实体来定义一个类,可以将这一组不同类型的对象依次放进一个list,来隐式代表一个“类对象”。通常这样的“类对象”又被放进一个更大的list或者放进dict。在实际中经常自然而然地这么做,特别是当这个逻辑实体的属性集未完全确定时,list很方便随时增加属性。 阅读全文
posted @ 2012-09-13 11:38 苦力笨笨 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 问题:现有2个鸡蛋硬度相同,100层的楼房。鸡蛋从某一层楼房扔下时,可能会破碎。为找出使鸡蛋破碎不破碎的最高楼层f(0<=f<=100),需要做x次实验,求x的最小值。扩展问题:先有M个鸡蛋,N层楼房,为找出使鸡蛋不破碎的最高楼层,需要做x次实验,求x的最小值。问题分析:这个问题刚拿到时,很容易想到用二分法求解,因为看上去很像有序集合的查找。确实,若鸡蛋数量足够多,二份法是最快的求解方式,需要log2100向上取整次。若鸡蛋在f层破碎,则在[1,f-1]区间查找,若不破碎则在[f+1,100]区间内求解。但是,当鸡蛋数量小于二分法所需的数量时,就不能用二份法求解。特别地,当只有一个 阅读全文
posted @ 2012-09-03 10:25 苦力笨笨 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 问题:有3,5,7分钱的硬币,以及给定的数额N,求找开N所需的最小硬币数目。扩展问题:有(V1, V2, V3, ..., Vm)硬币面额,面额数目为m,以及给定的数额N,求找开N所需的最小硬币数目,或断定不能找开。硬币找零是比较经典的动态规划问题,在某些面额组合的情况下,可以用贪心算法求解。《算法导论》中将硬币找零问题作为贪心算法的例子。在这里,随机选取三个素数作为面额。对于某一数额N,若能被给定的面额找开,可以分为两种情况。1、N恰好等于某一硬币的面额,这样找开N只需一枚硬币;2、N需要多枚硬币才能找开。现在主要分析第二种情况。当一枚硬币找不开时,则数额N一定可以被分为两个子数额N1,N2 阅读全文
posted @ 2012-08-31 11:18 苦力笨笨 阅读(718) 评论(1) 推荐(0) 编辑
摘要: Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Problem Description"Well, it seems the first problem is too easy. I will let you know how foolish you are later." feng5166 says."The second problem is, given an positive integer N, we define an equation lik 阅读全文
posted @ 2012-08-31 10:25 苦力笨笨 阅读(3453) 评论(0) 推荐(0) 编辑
摘要: Maximum EnergyTime Limit:1000MS Memory Limit:32768KDescription:Bobwanted to increase his energy by eating AC-APPLEs. There are N(1 <= N <= 150,000) AC-APPLEs, each AC-APPLE had a magic value "v" which is a positive interger and not bigger than 500. Bob visited AC-APPLEs which are giv 阅读全文
posted @ 2012-08-31 10:15 苦力笨笨 阅读(407) 评论(1) 推荐(0) 编辑
摘要: 摘要:以非root权限安装gevent,及两个依赖库libevent与greenlet。引言:最近想了解一些python的异步io框架,之前看了twisted,鼻祖级的python异步io框架。这个框架要求程序员以reactor/callback模型编写应用程序,应用程序向reactor提交io请求时需要指定一个回调函数,或者利用defered管理回调函数。在公司接触过C版本的异步io框架,编程模型与twisted一致。之后,看博客又了解到不少python的异步io框架,Tornado,gevent,eventlet,concurrence等。Nicholas Piël在其博客[1] 阅读全文
posted @ 2012-07-23 18:05 苦力笨笨 阅读(1070) 评论(0) 推荐(0) 编辑
摘要: 从概念上介绍虚拟文件系统(VFS)、超级块(super block), i节点(inode), 目录项(dentry), 硬链接(hard link), 符号链接(symbol link),文件及其关系。http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/http://blog.csdn.net/feiyinzilgd/article/details/5609157http://hi.baidu.com/_kouu/blog/item/b969964ff439f504b3de05c9.html 阅读全文
posted @ 2012-05-18 16:55 苦力笨笨 阅读(192) 评论(0) 推荐(0) 编辑
摘要: BIOS简介:http://en.wikipedia.org/wiki/BIOShttp://baike.baidu.com/view/361.htmLinux系统启动流程:https://www.ibm.com/developerworks/cn/linux/l-linuxboot/主引导记录(MBR):http://en.wikipedia.org/wiki/Master_boot_record 阅读全文
posted @ 2012-05-18 16:46 苦力笨笨 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 为了方便大家从理论到实践,从入门到精通,循序渐进系统地理解和掌握推荐系统相关知识。特做了个读物清单。大家可以按此表阅读,也欢迎提出意见和指出未标明的经典文献以丰富各学科需求(为避免初学者疲于奔命,每个方向只推荐几篇经典文献)。1. 中文综述(了解概念-入门篇)a) 个性化推荐系统的研究进展b) 个性化推荐系统评价方法综述2. 英文综述(了解概念-进阶篇)a) 2004ACMTois-Evaluating collaborative filtering recommender systemsb) 2004ACMTois -Introduction to Recommender Systems - 阅读全文
posted @ 2012-05-03 16:32 苦力笨笨 阅读(255) 评论(0) 推荐(0) 编辑