搜索到与相关的文章
编程技术

【排序结构6】 桶排序

从《基于比较的排序结构总结》中我们知道:全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到logN。而是利用对待排数据的某些限定性假设,来避免绝大多数的“比较”操作。桶排序就是这样的原理。桶排序的基本思想假设有一组长度为N的待排关键字序列K[1....n]。首先将这个序列划分成M个的子区间(桶)。然后基于某种映射函数,将待排序列的关键字k映射到第i个桶

系统 2019-08-29 21:59:41 2058

编程技术

一堂如何提高代码质量的培训课(3)

3)职责驱动设计和领域驱动设计前面我提到,当我们尝试写一些复杂功能的时候,我们把功能分解成一个个相对独立的函数。但是,应当将这些函数分配到哪个类中呢?也就是系统中的所有类都应当拥有哪些函数呢?或者说应当表现出哪些行为呢?答案就在这里:以职责为中心,根据职责分配行为。我们在分析系统时,首先是根据客户需求进行用例分析,然后根据用例绘制领域模式和分析模型,整个系统最主要的类就形成了。通过以上分析形成的类,往往和现实世界的对象是对应的。正因为如此,软件世界的这些类

系统 2019-08-29 21:58:56 2058

编程技术

成功开发iPhone软件的10个步骤

一年前斯坦福和Apple联手推出了基于iPhone平台的开发课程,这个课程的ppt被放在网上分享,反响非常好。这个学期,斯坦福将课程进行了录像,放在了iTunesuniversity上提供下载,目前这个课程在iTunes的下载排行第一,达到了100万人次的下载。这次给大家分享的是其中关于“成功开发iPhone软件的10个步骤”的讲座,虽然与我们工作中设计软件的应用平台不同,但是还是有很多成功的经验可以借鉴。1.决定要做什么人们很容易犯的一个错误是“从结论出

系统 2019-08-12 09:29:50 2058

编程技术

JSP:自定义标签——开发实例

【实例109】开发带属性的标签:helloTagHaveProp本实例中开发的标签在实例108的helloTag标签上作出改进,开发目标是在helloTag标签上增加两个属性fontSize和fontColor,fontSize用于设置字体大小,fontColor用于设置文字的颜色。(1)第一步:开发标签实现类。helloTagHaveProp.javapackagehello;importjavax.servlet.jsp.JspWriter;impor

系统 2019-08-12 09:29:49 2058

Python

进程及Python实现

进程杂谈#进程就是正在执行的一个过程,是对正在运行程序的一个抽象#进程由程序、数据集和进程控制块(最重要的,进程切换状态如何保存,恢复和记录)组成"""进程调度:1.先来先服务2.短作业优先调度3.时间片轮转法4.多级反馈队列进程遇到IO就会被挂起"""'''将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离)没有进程的抽象,现代计算机将不复存在''''''操作系统的作用:1.隐藏丑陋复杂的硬件接口,提供良好的抽象

系统 2019-09-27 17:57:03 2057

Python

Python爬虫入门【10】:电子书多线程爬取

最近想找几本电子书看看,就翻啊翻,然后呢,找到了一个叫做周读的网站,网站特别好,简单清爽,书籍很多,而且打开都是百度网盘可以直接下载,更新速度也还可以,于是乎,我给爬了。本篇文章学习即可,这么好的分享网站,尽量不要去爬,影响人家访问速度就不好了http://www.ireadweek.com/,想要数据的,可以在我博客下面评论,我发给你,QQ,邮箱,啥的都可以。这个网站页面逻辑特别简单,我翻了翻书籍详情页面,就是下面这个样子的,我们只需要循环生成这些页面的

系统 2019-09-27 17:56:54 2057

Python

python基础语法

第一个Python程序交互式编程交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。linux上你只需要在命令行中输入Python命令即可启动交互式编程,提示窗口如下:$pythonPython2.7.6(default,Sep92014,15:04:36)[GCC4.2.1CompatibleAppleLLVM6.0(clang-600.0.39)]ondarwinType“help”,“copyright”,“credits”

系统 2019-09-27 17:56:51 2057

Python

python学习笔记之包

#把解决一类问题的模块放在同一个文件夹里——包policy.get()importosos.makedirs('glance/api')os.makedirs('glance/cmd')os.makedirs('glance/db')l=[]l.append(open('glance/__init__.py','w'))l.append(open('glance/api/__init__.py','w'))l.append(open('glance/api

系统 2019-09-27 17:56:42 2057

Python

python测试驱动开发实例

本文实例讲述了python测试驱动开发的方法,分享给大家供大家参考。具体方法如下:importunittestfrommainimportSampleclassSampleTest(unittest.TestCase):defsetUp(self):print"createanewSample"self._sample=Sample("b64e5843ca7db8199c405be565fa7f57")deftearDown(self):print"Des

系统 2019-09-27 17:55:39 2057

Python

详解Python传入参数的几种方法

Python传入参数的方法有:位置参数、默认参数、可变参数、关键字参数、和命名关键字参数、以及各种参数调用的组合写在前面Python唯一支持的参数传递方式是『共享传参』(callbysharing)多数面向对象语言都采用这一模式,包括Ruby、Smalltalk和Java(Java的引用类型是这样,基本类型按值传递)共享传参是指函数的各个形式参数获得实参中各个引用的副本;也就是说,函数内部的形参是实参的别名(alias)这种方案的结果是,函数可能会修改作为

系统 2019-09-27 17:55:23 2057