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

【排序结构6】 桶排序

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

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

编程技术

【分词】正向最大匹配中文分词算法

中文分词一直都是中文自然语言处理领域的基础研究。目前,网络上流行的很多中文分词软件都可以在付出较少的代价的同时,具备较高的正确率。而且不少中文分词软件支持Lucene扩展。但不管实现如何,目前而言的分词系统绝大多数都是基于中文词典的匹配算法。在这里我想介绍一下中文分词的一个最基础算法:最大匹配算法(MaximumMatching,以下简称MM算法)。MM算法有两种:一种正向最大匹配,一种逆向最大匹配。●算法思想正向最大匹配算法:从左到右将待分词文本中的几个

系统 2019-08-29 21:59:36 2115

编程技术

如何在struts+spring+hibernate的框架下构建低

一.问题的提出我常常在思考一个问题,我们如何能设计出高水平、高质量的软件出来。怎样是高水平、高质量的软件?它应当是易于维护、易于适应变更、可重用性好的一个系统。如何做到这一点呢?答案当然是“低耦合、高内聚”了。低耦合就是软件在构造的时候,各个模块、各个功能、各个类都不会过度依赖于它周围的环境。只有这样,才能使我们的模块(功能、类)在周围发生变更时不受影响,做到易于维护和易于适应变更。正因为如此,也使它更易于重用到其它功能类似的环境中,提高了重用性。高内聚则

系统 2019-08-29 21:59:02 2115

编程技术

commons-fileupload实现文件上传功能实例

Apache提供的commons-fileuploadjar包实现文件上传确实很简单,最近要用Servlet/JSP做一个图片上传功能,在网上找了很多资料,大多是基于struts框架介绍的,还有些虽然也介绍common-fileupload的上传,但是那些例子比较老,有些类现在都废弃了。通过研究学习总结,终于完成了这个上传功能,下面与大家分享一下。案例场景一个图书馆后台管理界面,需要提供上传图书图片的功能并且最终显示在页面中。实现效果进入添加书籍页面,默认

系统 2019-08-12 09:30:11 2115

编程技术

随时随地安全交易?"Buy Button"帮你

领先的API管理与策略服务商Mashery今天发表公告推出其分布式商务解决方案,方案的核心是一种新的购买支付方式,只需一个为应用开发者专门设计的标准“购买”按钮,即可让用户随时随地使用各种设备方便地进行交易。Mashery的“BuyButton”还是第一个通过支付卡行业认证的API平台。Mashery的创始人兼CEOOrenMichels称,通过Mashery的解决方案,商家可以部署一个全新的个性化购买系统,买家可以随时随地使用各种设备进行交易,全面提升其

系统 2019-08-12 09:29:57 2115

Python

解决Mac下使用python的坑

操作系统:macOSHighSierra10.13.3Python3.6因为此版本自带python2.7,就下载并安装了anaconda2的版本,结果使用的时候系统自带的python和anaconda里的python冲突,也就是装包的时候只在一处装了,另一处却不能使用。因此要配置环境变量,替代到系统自带的版本。python2.7总会发生中文字体乱码的情况,果断放弃,准备使用anaconda3.1.安装anaconda3在官网下载,并安装,直接都是下一步。2

系统 2019-09-27 17:57:25 2114

Python

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

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

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

Python

搞清楚 Python traceback的具体使用方法

1.Python中的异常栈跟踪之前在做Java的时候,异常对象默认就包含stacktrace相关的信息,通过异常对象的相关方法printStackTrace()和getStackTrace()等方法就可以取到异常栈信息,能打印到log辅助调试或者做一些别的事情。但是到了Python,在2.x中,异常对象可以是任何对象,经常看到很多代码是直接raise一个字符串出来,因此就不能像Java那样方便的获取异常栈了,因为异常对象和异常栈是分开的。而多数Python

系统 2019-09-27 17:56:45 2114

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 2114

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 2114