- 军军小站|张军博客
搜索到与相关的文章
编程技术

【排序结构4】 归并排序

归并排序O(N*logN)是另一种效率很高的排序方法。"归并"的含义就是将两个或两个以上的有序表组合成一个有序表。加入两个有序表的长度分别为m、n,则一次归并的时间复杂度为O(m+n)。我们可以用"归并"的思想来实现排序。假如待排序列含有n个关键字,则可看成是n个有序的子序列,每个序列长度为1,然后两两归并,得到[n/2]个长度为2或1的子序列,在两两归并....,知道得到一个长度为n的有序序列为止。这就是2-路归并算法。下图就是2-路归并排序的一个例子:

系统 2019-08-29 21:59:43 1918

编程技术

使用异步 I/O 大大提高应用程序的性能

级别:中级M.TimJones(mtj@mtjones.com),顾问工程师,Emulex2006年9月28日Linux®中最常用的输入/输出(I/O)模型是同步I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待I/O请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步I/O(AIO)应用程序接口(A

系统 2019-08-12 09:30:23 1918

编程技术

Hibernate中1对多关联使用中容易犯错误的一个问

有Team和Student组成1对多的关系,现在的情况是Team持有一个Studen集合set1,另外还有另一个Student集合set2,我们想把引用关系从set1转换到set2,并删除set1一般我们会编写如下代码:StudentnewStu=newStudent();newStu.setName("11");Setset=newHashSet();set.add(newStu);Teamteam=(Team)session.get(......);t

系统 2019-08-12 09:29:44 1918

Python

Python 字典与字符串的互转实例

字典转换为字符串if__name__=='__main__':a={'a':1,'b':2,'c':3}b=str(a)print(type(b))输出结果为:---------------------------------------------------------------字符串转换为字典if__name__=='__main__':a="{'a':1,'b':2,'c':3}"b=eval(a)print(type(b))输出结果为:以上这篇

系统 2019-09-27 17:57:02 1917

Python

跟老齐学Python之Import 模块

认识模块对于模块,在前面的一些举例中,已经涉及到了,比如曾经有过:importrandom(获取随机数模块)。为了能够对模块有一个清晰的了解,首先要看看什么模块,这里选取官方文档中对它的定义:复制代码代码如下:AmoduleisafilecontainingPythondefinitionsandstatements.Thefilenameisthemodulenamewiththesuffix.pyappended.Withinamodule,themo

系统 2019-09-27 17:55:19 1917

Python

使用python连接mysql数据库之pymysql模块的使用

安装pymysqlpipinstallpymysql2|0使用pymysql2|1使用数据查询语句查询一条数据fetchone()frompymysqlimport*conn=connect(host='127.0.0.1',port=3306,user='root',password='123456',database='itcast',charset='utf8')#创建游标c=conn.cursor()#执行sql语句c.execute("selec

系统 2019-09-27 17:55:11 1917

Python

纯Python开发的nosql数据库CodernityDB介绍和使用实例

看看这个logo,有些像python的小蛇吧。这次介绍的数据库codernityDB是纯python开发的。先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给力,结果一看实现的方式,真是太鸟了,居然就是json的存储,连个二进制压缩都没有。这里介绍的CodernityDB也是纯开发的一个小数据库。CodernityDB是开源的,纯Python语言(没有第三方依赖),快速,多平台的NoSQL型数据库。它有可选项支持HTT

系统 2019-09-27 17:55:03 1917

Python

Python @property使用方法解析

1.作用将类方法转换为类属性,可以用.直接获取属性值或者对属性进行赋值2.实现方式使用property类来实现,也可以使用property装饰器实现,二者本质是一样的。多数情况下用装饰器实现。classStudent(object):@propertydefscore(self):returnself._score@score.setterdefscore(self,value):ifnotisinstance(value,int):raiseValueE

系统 2019-09-27 17:54:11 1917

Python

Python中的装饰器用法详解

本文实例讲述了Python中的装饰器用法。分享给大家供大家参考。具体分析如下:这里还是先由stackoverflow上面的一个问题引起吧,如果使用如下的代码:复制代码代码如下:@makebold@makeitalicdefsay():return"Hello"打印出如下的输出:Hello你会怎么做?最后给出的答案是:复制代码代码如下:defmakebold(fn):defwrapped():return""+fn()+""returnwrappeddefm

系统 2019-09-27 17:53:06 1917

Python

关于python中密码加盐的学习体会小结

给密码加密是什么:用户注册的密码一般网站管理人员会利用md5方法加密,这种加密方法的好处是它是单向加密的,也就是说,你只有在提前知道某一串密码对应的md5加密码,才能反推出密码是多少,虽然有极小的几率可能造成两个密码加密之后的值相等(这种现象称为碰撞),不过基本上不用担心,因为概率是极低的。在常用的hashlib模块里还有sha1()等方法,它的本质和md5是一致的,只是产生的结果是160bit字节,通常用一个40位的16进制字符串表示。而md5是最常见的

系统 2019-09-27 17:52:27 1917