摘要:
堆排序练习(证明)关于堆排序的具体介绍和C代码实现见该链接。算导关于堆排序的练习主要是一些证明,可以帮助理解堆的特征。部分练习是图示过程,这些练习认真用笔过一次会很有收获。1.在高度为h的堆中,最多和最少的元素个数是多少?最多:底层全满;1 + 2^1 + 2^2 + ...... + 2^h,等比数列求和得2^(h+1) - 1最少:底层只有一个节点;1 + 2^1 + 2^2 + ...... + 2^(h-1) + 1,等比数列求和得2^h - 1 + 1 = 2^h2.证明:含n个元素的堆的高度为floor(lgn)假设n个元素的堆的高度为h。由上题得2^h A[i]) ... 阅读全文
posted @ 2013-09-16 23:14
HackerVirus
阅读(531)
评论(0)
推荐(0)
摘要:
Scrum与高效能人士的执行4原则分享了高效能人士的执行4原则,发现它和Scrum非常相近,可以形成互补。Scrum框架:高效能人士的执行4原则框架:Scrum与4原则Sprint Backlog VS. 聚焦最重要目标Sprint Backlog:Sprint代办事项列表是一组为当前Sprint选出的产品代办事项列表条目,外加交付产品增量和实现Sprint目标的计划。聚焦最重要目标:要事第一,全神贯注。“如果其他各个方面都保持现有状况的话,改进哪一个方面才能给我们带来最大收益?”Product owner在plan meeting中要给出Sprint Backlog的唯一排序,整个团队按照优 阅读全文
posted @ 2013-09-16 22:47
HackerVirus
阅读(500)
评论(0)
推荐(0)
摘要:
Asp.Net请求响应过程在之前,我们写了自己的Asp.Net框架,对整个流程有了一个大概的认识。这次我们来看一下Asp.Net整个请求处理过程是怎么样的。浏览器封装请求报文,发送请求到达服务器,服务器内核模块的HTTP.SYS监听到用户的HTTP请求,将其分发给W3SVC,W3SVC解析出请求的URL,并根据Metabase获取映射关系得到目标应用,如果是静态资源(HTML,jss,img等),则将内容以HTTP响应的车型是返回。如果是动态文件(aspx、ashx)等,则进一步获取到目标对应的工作进程w3wp.exe,如果不存在,则创建一个新的工作进程。工作进程w3wp.exe利用aspne 阅读全文
posted @ 2013-09-16 22:46
HackerVirus
阅读(308)
评论(0)
推荐(0)
摘要:
Windows下svn客户端和服务器的安装使用svn,全称subversion, 是目前用的较多的开源的版本管理工具。相信有些经历的程序员应该都听说过它。 通常的svn服务器是搭建在Linux中,不过如果作为个人或者单个小组使用的话,就可以把svn服务器搭建在Windows下。下面总结了Windows下如何搭建一个简单的svn服务器和客户端。服务器篇 目前在Windows下比较简单的svn服务器方案是使用VisualSVN Server, 下载地址:http://www.visualsvn.com/server/download/。 安装非常简单。 安装过程中有个选择组件的步骤,选择Vis.. 阅读全文
posted @ 2013-09-16 22:44
HackerVirus
阅读(402)
评论(0)
推荐(0)
摘要:
也议 js闭包和ie内存泄露原理可以, 但小心使用.闭包也许是 JS 中最有用的特性了. 有一份比较好的介绍闭包原理的文档.有一点需要牢记, 闭包保留了一个指向它封闭作用域的指针, 所以, 在给 DOM 元素附加闭包时, 很可能会产生循环引用, 进一步导致内存泄漏. 比如下面的代码:function foo(element, a, b) { element.onclick = function() { /* uses a and b */ };}这里, 即使没有使用element, 闭包也保留了element,a和b的引用, . 由于element也保留了对闭包的引用, 这就产生了循环引用,. 阅读全文
posted @ 2013-09-16 18:33
HackerVirus
阅读(291)
评论(0)
推荐(0)
摘要:
LatestResultsProvider前言阅读本文前,需要读者对happens-before比较熟悉,了解非阻塞同步的一些基本概念。本文主要为happens-before法则的灵活运用,和一些解决问题的小技巧,分析问题的方式。背景介绍原始需求为:本人当时在编写一个正则替换工具,里面会动态地显示所有的匹配结果(包括替换预览),文本、正则表达式、参数,这些数据的其中一项发生了变化,结果就应该被更新,为了提供友好的交互体验,数据变化时,应该是发起一个异步请求,由另一个独立的线程来完成运算,完成后通知UI更新结果。由于是动态显示,所以提交会非常频繁。需求描述需要这样一个工具类,允许用户频繁地提交数 阅读全文
posted @ 2013-09-16 18:30
HackerVirus
阅读(198)
评论(0)
推荐(0)
摘要:
导出元数据如何理解元数我们可以把元数据理解为随类型一起导出的附加信息。有时候我们会考虑,把元数据随类型一并导出,增加一些说明,使得我们在导入的时候,可以多一些筛选条件。默认的类型导出带有元数据吗上面的内容我说得比较简洁,也许您不是很理解,不要紧,在编程里面,很多东西我们都是写了代码后才理解的。所以,我的理论功底比较差,最不擅长的就是长篇大论,还是从代码中看吧。我们首先要弄清楚一下问题:在我没有手动去添加元数据的默认导出类型,是否带有元数据。为了使代码更简单,这里我直接把一个类导出,而不编写公共接口了。这里我们直接编写一个类,然后直接导入这个类型即可:示例代码定在当前程序集中,可以在Assemb 阅读全文
posted @ 2013-09-16 18:24
HackerVirus
阅读(753)
评论(0)
推荐(0)
摘要:
使用局部标准差实现图像的局部对比度增强算法。Posted on2013-09-16 15:01Imageshop阅读(287) 评论(2)编辑收藏 图像的对比度增强算法在很多场合都有着重要的应用,特别是在医学图像上,这是因为在众多疾病的诊断中,医学图像的视觉检查时很有必要的。而医学图像由于本身及成像条件的限制,图像的对比度很低。因此,在这个方面已经开展了很多的研究。这种增强算法一般都遵循一定的视觉原则。众所周知,人眼对高频信号(边缘处等)比较敏感。虽然细节信息往往是高频信号,但是他们时常嵌入在大量的低频背景信号中,从而使得其视觉可见性降低。因此适当的提高高频部分能够提高视觉效果并有利于诊断。 阅读全文
posted @ 2013-09-16 18:12
HackerVirus
阅读(21413)
评论(4)
推荐(2)
摘要:
抽象工厂模式一、引言在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了,一个工厂创建一系列的产品,如果我们要设计这样的系统时,工厂方法模式显然在这里不适用,然后抽象工厂模式却可以很好地解决一系列产品创建的问题,这是本专题所要介绍的内容。二、抽象工厂详细介绍这里首先以一个生活中抽象工厂的例子来实现一个抽象工厂,然后再给出抽象工厂的定义和UML图来帮助 阅读全文
posted @ 2013-09-16 18:02
HackerVirus
阅读(240)
评论(0)
推荐(0)
摘要:
12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(3)前文链接:http://www.cnblogs.com/pmer/p/3322429.html5,atexit with _exitQ:在以下代码,atexit()方法并没有被调用,你知道为什么吗??#includevoidfunc(void){printf("\n Cleanup function called \n");return;}intmain(void){inti = 0;atexit(func);for(;iintmain(void){char*ptr = "Linux";p 阅读全文
posted @ 2013-09-16 15:44
HackerVirus
阅读(229)
评论(0)
推荐(0)
浙公网安备 33010602011771号