Fork me on GitHub

2013年9月9日

摘要: Java实现希尔排序Posted on2013-09-09 12:05DM张朋飞阅读(281) 评论(4)编辑收藏 华杰让我看了一道面试题:现有一段程序S,可以对任意n个数进行排序。如果现在需要对n^2个数进行排序,最少需要调用S多少次?(只允许调用S,不可以做别的操作)。 看到了这个,我想试试希尔排序,就学学。一.理论准备 希尔排序是基于直接插入排序的,不懂得请看这一篇http://www.cnblogs.com/hxsyl/archive/2013/06/02/3113656.html 希尔排序(Shell Sort)是插入排序的一种,是针对直接插入排序算法的改进,是将整个无序列分割成若干 阅读全文
posted @ 2013-09-09 15:57 HackerVirus 阅读(249) 评论(0) 推荐(0)
摘要: WPF之TreeList的实现方法(一)做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求,很多时候我们需要对现有的控件做一下加工。最简单的我们可能会把Tree转换成List形式有的叫Grid形式就像下图一样今天我先做一个完全用样式加工的例子,有时间我再把它做深加工写成一下通能形式我们要先把treeView重写一下?publicclassTreeListView : TreeView{//这两个默认的是TreeViewItemprotectedoverrideDependencyObject GetContainerForItemOverride()//创建或标识用于显示指定项的元素 阅读全文
posted @ 2013-09-09 15:55 HackerVirus 阅读(561) 评论(0) 推荐(0)
摘要: SQL Server 通过备份文件初始化复制一、背景MySQL在对有历史数据的数据库进行搭建复制(Master/Slave)的时候,可以通过在Master服务器备份历史数据,利用这个备份文件在Slave进行还原;这样做的好处是可以更加快速的搭建好环境,因为可以对备份文件进行压缩、分包,并且可以使用FTP等工具保证传输过程的安全与快捷;详情可参考:Windows下搭建MySQL Master Slave当SQL Server遇到同样需要对历史数据库搭建复制,通常的做法是在本地发布快照,再由订阅传输数据,那SQL Server应该如何实现备份历史数据搭建复制(发布/订阅)呢?下图是备份文件初始化订 阅读全文
posted @ 2013-09-09 15:29 HackerVirus 阅读(457) 评论(0) 推荐(0)
摘要: 改写jquery.validate.unobtrusive.js实现气泡提示mvc错误个人对于这个js、css不是很擅长,所以这个气泡提醒的样式网上找了下,用了这个http://www.cnblogs.com/wifi/articles/2918950.html当中的第一种写法。对于mvc中默认的错误提示,是使用@Html.ValidationMessageFor这个来生成个这种的html标签,但是对于span首先它得占页面的空间,而且我需要它里面有字的时候才显示,没字的时候就得隐藏,css不好弄,所以就得改这个jquery.validate.unobtrusive.js来实现。(当然mvc中 阅读全文
posted @ 2013-09-09 15:24 HackerVirus 阅读(451) 评论(0) 推荐(0)
摘要: Yeoman 学习笔记yoeman 简介:http://www.infoq.com/cn/news/2012/09/yeomanyeoman 官网:http://yeoman.io/yeoman 是快速创建骨架应用程序的WEB前端工具,实际由 yo, grunt, bower 三个组建而成。Yoscaffolds out a new application, writing your Grunt configuration and pulling in relevant Grunt tasks that you might need for your build.Gruntis used to 阅读全文
posted @ 2013-09-09 15:19 HackerVirus 阅读(337) 评论(0) 推荐(0)
摘要: 牢骚与javascript中的this最近在看关于拖延症的一本书《拖拉一点也无妨》,后面得出结论是自己写博客大部分处于两种状态,心情很好和心情很不好的时候。因为正常状态下感觉写博客吧,是件很麻烦的事情,不如去看看电影看看漫画啥的。最近在看漫画《进击的巨人》和《一拳超人》,感觉是两种极端,哈哈。 最近在进行某个项目的重写工作,前后端都要重新构架重写,时间给了一个月。项目的现状大概是后端一个类有一万行左右,包含几十个方法。每个方法从一两百行到上千行不等,大部分方法是没有参数和返回值的,全局的操作几百个成员变量。业务需求不明确,没人能说得清,反正任务就是在不影响现有的功能的情况下重构+重写。现... 阅读全文
posted @ 2013-09-09 14:38 HackerVirus 阅读(163) 评论(0) 推荐(0)
摘要: 数组总结篇(下)前面已经讲了数组题目中常用的几种方法:递归和循环,查找和排序,现在我们补充一下一些特例。 基于数组的题目考查的知识点除了上面之外,还有其他一些细节,因为数组存放的是数据类型,而数据类型本身就有一些细节值得我们仔细推敲。题目一:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印出最小的一个。我们还是从一个测试用例开始。 假设一个数组{3, 32, 321},那么它所能排成的最小数字应该是321323。表面上这道题目是要求我们找出排列规则,但是它里面隐含了一个重大的问题:大数问题,把数组里的数字都拼起来的话,有可能造成溢出,这也是我们需要考虑的问题。 解决大数问题最直观的 阅读全文
posted @ 2013-09-09 14:31 HackerVirus 阅读(208) 评论(0) 推荐(0)
摘要: 目录背景之前是如何做的?EntityFramework5提供了更好的选择备注背景返回目录刚毕业做项目的时候,没有用“迁移”这个概念,系统发布和更新的过程让人非常痛苦,在学习 Ruby On Rails 的过程解除了“迁移”,以后的所有项目都会先确定好“迁移”的方案,本文介绍一下EntityFramework5提供的迁移工具。之前是如何做的?返回目录原始的迁移脚本脚本格式 1 --执行开始-- 2 3 Alter Table RcExaminees ADD [IntroducerOfEmployeeId] uniqueidentifier null 4 5 --执行结束-- 6 7... 阅读全文
posted @ 2013-09-09 12:46 HackerVirus 阅读(174) 评论(0) 推荐(0)
摘要: SOCKET网络编程快速上手(二)——细节问题(1)三、细节问题一个也不能少 Socket编程说简单也简单,程序很容易就能跑起来,说麻烦还真是麻烦,程序动不动就出问题。记得刚开始写网络代码的时候,那真是令人抓狂的经历,问题一个套一个,一会服务器起不来了,一会数据接收异常了,到最后自己都对那些系统调用都不放心了,怎么会要考虑那么多东西?起初,我是一万个怀疑,是不是自己人品出问题了,怎么别人没遇到,全给自己赶上了。后来,拿着《UNIX网络编程》随便看看,那书怎么会这么了解我的?细节!细节!细节!那些问题都被别人明明写出来了,自己又SX了。没办法,细节不注意,有苦说不出啊。 不过也不能怪自己不爱学习 阅读全文
posted @ 2013-09-09 11:33 HackerVirus 阅读(276) 评论(0) 推荐(0)
摘要: 海量数据相似度计算之simhash短文本查找海量数据相似度计算之simhash短文本查找在前一篇文章 《海量数据相似度计算之simhash和海明距离》 介绍了simhash的原理,大家应该感觉到了算法的魅力。但是随着业务的增长 simhash的数据也会暴增,如果一天100w,10天就1000w了。我们如果插入一条数据就要去比较1000w次的simhash,计算量还是蛮大,普通PC 比较1000w次海明距离需要 300ms ,和5000w数据比较需要1.8 s。看起来相似度计算不是很慢,还在秒级别。给大家算一笔账就知道了:随着业务增长需要一个小时处理100w次,一个小时为3600 *1000 = 阅读全文
posted @ 2013-09-09 11:30 HackerVirus 阅读(1175) 评论(0) 推荐(0)