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

【查找结构 2】二叉查找树 [BST]

当所有的静态查找结构添加和删除一个数据的时候,整个结构都需要重建。这对于常常需要在查找过程中动态改变数据而言,是灾难性的。因此人们就必须去寻找高效的动态查找结构,我们在这讨论一个非常常用的动态查找树——二叉查找树。二叉查找树的特点下面的图就是两棵二叉查找树,我们可以总结一下他的特点:(1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值(3)它的左、右子树也分别为二叉查找树我们中

系统 2019-08-29 21:59:55 1995

编程技术

JVM垃圾回收机制总结(2) :基本算法概述

1、引用计数收集器(ReferenceCounting)引用计数是垃圾收集的早期策略。在这种方法中,堆中每一个对象都有一个引用计数。一个对象被创建了,并且指向该对象的引用被分配给一个变量,这个对象的引用计数被置为1。当任何其他变量被赋值为对这个对象的引用时,计数加1。当一个对象的引用超过了生存期或者被设置一个新的值时,对象的引用计数减1。任何引用计数为0的对象可以被当作垃圾收集。当一个对象被垃圾收集的时候,它引用的任何对象计数值减1。在这种方法中,一个对象

系统 2019-08-29 21:59:34 1995

编程技术

Hibernate中的Criteria条件查询

CriteriaQuery通过面向对象化的设计,将数据查询条件封装为一个对象。简单来讲,CriteriaQuery可以看作是传统SQL的对象化表示,如:Criteriacriteria=session.createCriteria(User.class);criteria.add(Expression.eq("name","Erica");criteria.add(Expression.eq("sex",newInteger(1)));这里的criteri

系统 2019-08-12 09:30:03 1995

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 1994

Python

Python 从subprocess运行的子进程中实时获取输出的例子

有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的。在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和使用。同时,对于在子进程里的程序,我们希望能够实时获取其输出,以在主进程中打印相关信息,使我们能够了解当前子程序的执行进度。对此,subprocess模块也提供了相应的参数,能够将子程序的标准输出和标准错误输出返回给主程序。下面,我们就通过一个例子来说明这个功

系统 2019-09-27 17:56:49 1994

Python

Python:计算欧氏距离的两种写法

使用列表List作为样本点表示的欧氏距离计算方法:importmath#计算两点之间的距离defeucliDist(A,B):returnmath.sqrt(sum([(a-b)**2for(a,b)inzip(A,B)]))X=[1,2,3,4]Y=[0,1,2,3]print(eucliDist(X,Y))使用np.array作为样本点表示的欧氏距离计算方法:importnumpyasnp#计算两点之间的距离defeucliDist(A,B):retu

系统 2019-09-27 17:56:21 1994

Python

python3 property装饰器实现原理与用法示例

本文实例讲述了python3property装饰器实现原理与用法。分享给大家供大家参考,具体如下:学习python的同学,慢慢的都会接触到装饰器,装饰器在python里是功能强大的语法。装饰器配合python的魔法方法,能实现很多意想不到的功能。废话不多说,如果你已经掌握了闭包的原理,代码的逻辑还是可以看明白的,咱们直接进入正题。property的意义@property把一个类的getter方法变成属性,如果还有setter方法,就在setter方法前面加

系统 2019-09-27 17:55:44 1994

Python

python中 * 的用法详解

1、表示乘号2、表示倍数,例如:defT(msg,time=1):print((msg+'')*time)T('hi',3)打印结果(打印3次):hihihi3、单个*(1)、如:*parameter是用来接受任意多个参数并将其放在一个元组中。>>>defdemo(*p):print(p)>>>demo(1,2,3)(1,2,3)(2)、函数在调用多个参数时,在列表、元组、集合、字典及其他可迭代对象作为实参,并在前面加*如*(1,2,3)解释器将自动进行解

系统 2019-09-27 17:55:37 1994

Python

Python:MD5加密和文件生成MD5值

importhashlibclassMd5_enc():def__init__(self,key="cxj"):self.key=keyself.maker=hashlib.md5()defmd5_str(self,message):self.maker.update(bytes(self.key,encoding="utf-8"))self.maker.update(bytes(message,encoding="utf-8"))rel=self.mak

系统 2019-09-27 17:55:15 1994

Python

解决python3在anaconda下安装caffe失败的问题

Python跟Python3完全就是两种语言1、importcaffeFAILED环境为Ubuntu16cuda8.0NVIDIA361.77Anaconda2。昨天莫名其妙Caffe不能用了:>>>importcaffeTraceback(mostrecentcalllast):File"",line1,inFile"/home/duchengyao/project/caffe/python/caffe/__init__.py",line1,infrom

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