一.这是个基础问题 Ref: Python之队列模拟算法(打印机问题)[首先研究这个问题作为开始] 任务队列 定义一个任务队列,来管理任务,而无需关心队列的”任务类型". # 自定义队列类 class Queue(object): def __init__(self): #初始化空队列 self.items = [] def isEmpty(self): #是否为空 return self.items == [] def enqueue(self, item): #入队,索引为0,即队尾在左侧…
Ref: [Optimization] Dynamic programming[寻找子问题] Ref: [Optimization] Advanced Dynamic programming[优于recursion] 显然,本篇是关于”动态规划"的部分. 找零钱 一.简单直白策略 要点:”个数“其实代表了“for循环”的层数.但“个数”不定,使用“递归”反而能解决这个问题,减少思路上的负担. import time def recMC(coinValueList, change): minCoi…
目的也比较单纯,选一门语言,走向人键合一. 选了两本书作为操练场:<精通Python设计模式>.<Data Structure and Algorithm in Python>. 当然,也专门选购了Thinkpad T系列犒劳双手,迎接重生,再筑辉煌. 开始 一.软件架构师 基本概念 [Arch] 01. Before Design Patterns - UML[开发文档中的UML] [Arch] 02. Design principle and Software Pattern[…
bottom-half http://bbs.csdn.net/topics/60226240 在中断,异常和系统调用里看Linux中断服务一般都是在关闭中断的情况下执行的,以避免嵌套而是控制复杂化Linux将一些中断处理分成两部分,第一部分是在关中断的条件下执行的,具有"原子"性,而且是中断发生以后一般要立即执行的,第二部分,就是bottom half了,是在开中断的条件下执行,这部分是可以延迟一段时间再做的,而且有可能将多个中断的bottom half合并起来一起做.bottom …
最近工作的内容是有关于WPF的,整体开发没有什么难度,主要是在打印上因为没有任何经验,犯了一些难,不过还好,解决起来也不是很费劲. WPF打印票据或者是打印普通纸张区别不大,只是说打印票据要把需要打的内容摆放好位置,搞定缩放比例,就可以放入票据直接打印了.那么关键点就是3个:1.使用WPF提供的什么类.什么方法来执行打印2.如何摆放位置3.如何搞定缩放比例 1.使用WPF提供的什么类.什么方法来执行打印 这个问题很容易解决,搜索下WPF打印或WPF Print,就能找到示例代码.那么我用的是Pr…
原文链接:http://coolshell.cn/articles/1044.html 在Unix操作中有太多太多的命令,这些命令的强大之处就是一个命令只干一件事,并把这件事干好.Do one thing, do it well.这是unix的哲学.而且Unix首创的管道可以把这些命令任意地组合,以完成一个更为强大功能.这些哲学到今天都在深深地影响着整个计算机产业.比如今天最流行的“云计算”——把一个软件以碎片方式部署,然后这些功能可以任意组合. 这篇文章罗列了很多Unix下比较高级的命令,当然…
ACCTCOM 查看所有用户执行过的进程 acctcom | tail - 查看指定用户执行过的进程/命令 acctcom -u <username> | tail - 使用一个正则表达式查找相关进程 acctcom -n <pattern> | tail - 查找所有以l开头的被用户执行过的命令 acctcom -n ‘^l’ | tail - 以反向顺序显示 acctom -b | more AGREP 在文件中查找一个可能拼写错的单词 agrep - ‘macroppersw…
操作 Queue() 创建一个空的队列 enqueue(item) 往队列中添加一个item元素 dequeue() 从队列头部删除一个元素 is_empty() 判断一个队列是否为空 size() 返回队列的大小 class Queue(object): """队列""" def __init__(self): self.items = [] def is_empty(self): return self.items == [] def enq…
在Unix操作中有太多太多的命令,这些命令的强大之处就是一个命令只干一件事,并把这件事干好.Do one thing, do it well.这是unix的哲学.而且Unix首创的管道可以把这些命令任意地组合,以完成一个更为强大功能.这些哲学到今天都在深深地影响着整个计算机产业.比如今天最流行的“云计算”——把一个软件以碎片方式部署,然后这些功能可以任意组合. 这篇文章罗列了很多Unix下比较高级的命令,当然,Unix/Linux下还有更多更多的命令,我们相信你可能见过其中的某些命令,也有可能有…
1,队列的定义 队列:是一种先进先出的数据结构,如下图所示,现进去的数据在队列前面(front),先出队列,后进入队列的数据在后面(rear),后出队列. 队列常用操作: q=Queue() #创建队列 q.enqueue(item) # 数据入队列,在队列后面 q.dequeue() #数据出队列,从队列前面移出数据并返回 q.isEmpty() #返回队列是否为空 q.size() #返回队列大小 操作示例: 2,用python实现队列 可以用python的list来实现队列,其定义如下面代…