归并排序算法 编写归并排序,记住下面的思路,代码也就游刃有余了! 1.首先确定数组的中间位置的分界点(下标),也就是mid=(left+right)>>1,分成left,right两段. 2.然后递归排序left,right两端. 3.最后就是将两个有序的数组归并,合二为一,这一部分是归并排序最难的. 归并排序算法的核心 主要的思想也是分治 同样是分治,但是这里的分治与快速排序的分治不一样. 快排是拿随机一个数来分,分完之后,保证让左边小于等于分界点,右边大于等于分界点. 归并则是以整个数组最…
浮点数二分算法 编写浮点数二分,记住下面的思路,代码也就游刃有余了! 1.首先找到数组的中间值,mid=(left+right)>>1,区间[left, right]被划分成[left, mid]和[mid , right]. 2.然后通过check(mid)判断中间值是不是满足这个性质,保证落到区间里就对了,check是根据不同的题型编写的. 3.最后就能使用折半,缩小区间了,当认为区间已经很小的时候,比如<=10^-6,其实就找到了答案. 浮点数二分算法的核心 浮点数二分的本质也是边…
整数二分算法 编写整数二分,记住下面的思路,代码也就游刃有余了! 1.首先找到数组的中间值,mid=(left+right)>>1,区间[left, right]被划分成[left, mid]和[mid + 1, right]:如果是mid = l + r + 1 >> 1,区间[left, right]被划分成[left, mid - 1]和[mid, right]. 2.然后通过check(mid)判断中间值是不是满足这个性质,check是根据不同的题型编写的. 3.最后就能使…
快速排序算法(冒泡排序算法的升级版) 编写快速排序,记住下面的思路,代码也就游刃有余了! 1.首先确定分界点:分界点设为x,可以取q[left],q[(left+right)>>2],q[right]任意一个,建议就取中间值. 2.取完分界点,然后就可以重新调整区间:分为<=x,>=x 两个左右区间,保证左边的数都小于等于x,右边的数都大于等于x. 3.最后一步就是递归处理左右两端. 快速排序算法的核心 分治 快速排序算法的代码模板 添加了注释 void quick_sort(in…
高精度"+"算法 编写高精度"+",记住下面的过程,代码也就游刃有余了! 1.首先我们要明白大整数是如何存储的? 2.其次存储完,如何运算? 高精度"+"算法的核心 大整数存储 将大整数每一位是存到数组中,要保证高位在前,这个是考虑到进位,在高位上补一个数(如果在数组末尾补上这个数很容易,但如果在数组开头补上这个数需要把整个数组全部向后平移一位). 运算的本质 实际就是满10进1的过程:A3A2A1A0+B2B1B0=C,考虑每个对应位Ai+Bi…
1.介绍 归并排序(MergeSort)是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法将问题分(divide)成一些小的问题然后递归求解, 而治(conquer)的阶段则将分的阶段得到的各答案“修补”在一起,即分而治之) 2.示意图  说明:可以看到这种结构很像一颗完全二叉树,可以采用递归和循环迭代的方式去实现,分阶段可以理解为就是递归拆分子序列的过程 合并相邻有序子序列 再来看看治阶段,我们需要将两个已经有序的子序列合并成一个有序序列,比如上图中的最后一次合并, 要将[4,5…
前言 让拖管代码对象和非托管对象协同工作的过程称为互用性(Interoperability),通常简称为 Interop. P/Invoke在托管代码与非托管代码交互式时产生一个事务(Transition),这通常发生在使用平台调用服务(Platfrom Invocation Services)即P/Invoke.允许托管代码调用平台(Platfrom)相关的非托管代码(c++.VB.Delphi....) Com Interop 一种服务,它使 .NET Framework 对象能够与 COM…
课程讲师: 赵劼 MSDN特邀讲师 赵劼(网名“老赵”.英文名“Jeffrey Zhao”,技术博客为http://jeffreyzhao.cnblogs.com),微软最有价值专家(ASP.NET MVP),MSDN特邀讲师.毕业于复旦大学软件学院,曾任职于微软中国研发中心,现任上海激动通信有限公司平台开发部经理,高级程序员.他有8年左右的 Web应用程序和5年左右的.NET应用程序开发经验,对于ASP.NET企业应用开发与客户端技术(DHTML.JavaScript.AJAX等)有较为深入的…
系列课程 >跟我一起从零开始学WCF系列课程   跟我一起从零开始学WCF系列课程(1):WCF概述 (Level 200)   讲 师:徐长龙    课程简介:从 本堂课开始我们将开启一个新的系列-Windows Communication Foundation(WCF).本系列课程将听众假定为对WCF没有任何了解,从零开始一步一步带领大家进入到WCF领域.WCF是使用托管代码建立和 运行面向服务(Service Oriented)应用程序的统一框架.它使得开发者能够建立一个跨平台的安全.可信…
No. 课程 备注 1 HANA概述 HANA 特点 2 HANA Server & Studio & Client 认识HANA Server \Client\ Studio, 熟悉开发工具 3 HANA的存储及对象 HANA的存储特性.介绍table,view,index,sequence,trigger,function等 4 HANA Modeling HANA建模 5 HDB SQLScript HANA SQLScript 6 User & Authorization…
solr与.net系列课程(九)solr5.1的配置 最近一些园友来咨询solr5.1的配置方式,然后我就去官网下载了个最新版本的solr,发现solr5.0以后solr的下载包里的内容发生的变化,移除和添加了一些文件,这就导致solr的初始配置不一样了,导致一些园友学习solr时不得不下载以前的solr版本进行学习,为了与时俱进不被淘汰,所以的就在这里加一篇solr5.1的配置方式,希望大家少走一些弯路. 1.下载Tomcat与solr并解压(安装前先装jdk) Tomcat解压后磁盘路径为C…
solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来说一说新建索引的一下注意事项 终止跑索引                  http://192.168.0.9:8080/solr/collection1/dataimport?command=abort 开始索引                     http://192.168.0.9:80…
solr与.net系列课程(七)solr主从复制    既然solr是解决大量数据全文索引的方案,由于高并发的问题,我们就要考虑solr的负载均衡了,solr提供非常简单的主从复制的配置方法,那么下面我们就来配置一下solr的主从复制 假设我们在192.168.0.8与192.168.0.9两台服务器上部署了solr服务,192.168.0.8作为主服务器,192.168.0.9作为从服务器, 首先配置主服务器找到C:\Program Files\Apache Software Foundati…
 solr与.net系列课程(六)solr定时增量索引与安全 solr增量索引的方式,就是一个Http请求,但是这样的请求显然不能满足要求,我们需要的是一个自动的增量索引,solr官方提供了一个定时器实例,来完成增量索引, 首先下载 apache-solr-dataimportscheduler-1.0.jar,下载地址:http://solr-dataimport-scheduler.googlecode.com/files/apache-solr-dataimportscheduler-1.…
 solr与.net系列课程(五)solrnet的使用 最近因项目比较忙,所以这篇文章出的比较晚,离上一篇文章已经有半个月的时间了,这节课我们来学下一下solr的.net客户端solrnet 出处  https://github.com/mausch/SolrNet 上一篇文章讲述了C#是如何请求和接受solr的数据的,请求链接是自己拼接的,接受数据是使用数据契约,solrnet就是把这些步骤封装起来,大家直接调用方法就可以请求和接受数据 首先要下载solrnet所要使用的DLL Microso…
solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语言都可以直接调用,本章我们主要对solr的查询做出讲解,然后就是新接触的人最关心的.net如何获取solr中的数据. 本节我准备了一个300万左右的数据表,为大家做演示 然后我们开始配置schema.xml 文件: <field name="id" type="string…
 solr与.net系列课程(三)solr连接数据库 上一章直接讲述的配置文件把大部分人看的很迷惑,大家都想听的是solr到底是怎么用的,好,这一节我们就开始链接数据库,首先讲一下连接之前都要配置哪些文件 1.先下载连接sqlserver的驱动(sqljdbc4.jar)sqljdbc4.jar,),将其复制到C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\solr\WEB-INF\lib (C:\Program Fi…
solr与.net系列课程(二)solr的配置文件及其含义  本节内容还是不会涉及到.net与数据库的内容,但是不要着急,这都是学时solr必学要掌握的东西,solr可不是像其他的dll文件一样,只需要引用就能调出方法与数据的,你不配置好是无法使用,前两节主要是起铺垫作用的,看起来会很枯燥无味的. 本章节内容是为下一节连接数据库做准备的,单拿出来看的话,会让人很迷糊,没关系,就当提前预习了,知道有这么个东西就行了,等下一节结合数据库后就好理解了 上一节我们已经完成了solr的基本配置,这里我们来…
Windows Azure 入门系列课程 https://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/NewSeries/Azure/WindowsAzure_rm.html…
云计算(Cloud) 云起龙骧系列课程 网络开发(Web) ASP.NET 4 风云之旅系列课程 ASP.NET 开发实践系列课程 MOSS2007 最佳实战 StepByStep 系列课程 Silverlight 3.0 探秘之旅系列课程 微软互联网平台系列课程 如何创建更好的 Silverlight 程序系列课程 Clubof.net 社交网站代码分析系列课程 ASP.NET 3.5 开发系列课程 IE8 开发新特性系列课程 Windows Live 汇聚你世界系列课程 Windows Li…
所谓组合模式,就是把一堆结构分解出来,组成在一起,现实中很多这样的例子,如: 1.肯德基套餐就是一种组合模式, 比如鸡腿堡套餐,一般是是由一个鸡腿堡,一包薯条,一杯可乐等组成的 2.组装的台式机同理,由主板,电源,内存条,显卡, 机箱,显示器,外设等组成的 把一个成型的产品组成部件,分成一个个独立的部件,这种方式可以做出很多灵活的产品,这就是组合模式的优势 比如:家用台式机电脑,要求配置比较低, 这个时候只需要主板+电源+内存条+机箱+显示器+外设就可以了,不需要配置独立显卡 鸡腿堡+鸡翅+紫薯…
这里在之前的文章[js高手之路] 设计模式系列课程 - jQuery的链式调用与灵活的构造函数基础上增加一个extend浅拷贝,可以为对象方便的扩展属性和方法, jquery的插件扩展机制,大致就是这个原理. var G = function ( selector, context ) { return new G.fn.init( selector, context ); }; G.fn = G.prototype = { constructor : G, init: function ( s…
为了支持"首届dnc开源峰会"(dncNew.com)顺利举办,本人<.net core系列课程>进行一波优惠,每个课程优惠在立即购买上方,领取现金券即可.课程地址为腾讯课堂:https://gsw.ke.qq.com/   1.<asp.net core精要讲解>https://ke.qq.com/course/265696 课程介绍:      本人从.net core beta版开始使用研究的,项目是从1.0开始开发,并应用于生产环境的,本课程是以asp.…
Silverlight for Windows Phone开发系列课程(1):Windows Phone平台概况         课程简介:本节开始介绍系列课程的概况,包括课程内容,先决条件,学习目的和学习形式.接着通过真实设备的演示Windows Phone的新功能特点.然后讲述Windows Phone的硬件规范,软件架构和开发平台.最后讲述适合学习和开发Windows Phone应用的群体,以及给各种开发者的建议.http://www.apkbus.com/android-138873-1…
Android官方开发文档Training系列课程中文版:目录   引言 在翻译了一篇安卓的官方文档之后,我觉得应该做一件事情,就是把安卓的整篇训练课程全部翻译成英文,供国内的开发者使用,尤其是入门开发者,虽然现在网络上有很多入门课程,但是还是依靠官方文档学习来的靠谱,安卓官方文档是一系列的课程,使每个人可以系统的掌握安卓的知识,相比其它课程来说,它为开发者提供了查缺补漏的功能. 在这里你可以领略到安卓开发世界的精彩. Tips : 同时,本目录可以作为安卓功能查询手册,可以使你通过安卓系统提供…
本篇主要是为了记录UCB策略与Gradient策略在解决Multi-Armed Bandit问题时的实现方法,涉及理论部分较少,所以请先阅读Reinforcement Learning: An Introduction (Drfit) 的2.7,2.8的内容.为了更深入一点了解UCB策略,可以随后阅读下面这篇文章: [RL系列]Multi-Armed Bandit笔记补充(二)—— UCB策略 UCB策略需要进行初始化工作,也就是说通常都会在进入训练之前先将每个动作都测试一变,保证每个动作被选择…
在此之前,请先阅读上一篇文章:[RL系列]Multi-Armed Bandit笔记 本篇的主题就如标题所示,只是上一篇文章的补充,主要关注两道来自于Reinforcement Learning: An Introduction 的课后习题. 第一题为Exercise 2.5 (programming),主要讨论了Recency-Weighted Average算法相较于Sample Average算法的优点所在.练习内容大致为比较这两种算法在收益分布为非平稳分布的情况下的表现情况,主要的评价指标…
第一期 「一入 Java 深似海 」系列课程 - 第一期 第一节:Java 语言基础…
Elasticsearch,是目前行业中非常热门的一个技术.Elasticsearch是一种分布式的海量数据搜索与分析的技术,可以用于电商网站.门户网站.企业IT系统等各种场景下的搜索引擎,也可以用于对海量的数据进行近实时的数据分析.相较于Lucene来说,Elasticsearch天然的分布式特性,让其可以支持海量的.PB级的大数据搜索.相对于Spark Streaming.Storm等大数据实时计算引擎来说,Elasticsearch天生为分布式执行数据分析操作而生的架构,海量数据量级下的近…
oracle dis系列课程总结 1 bbed安装和介绍 --1 bbed的安装--(Oracle Block Brower and EDitor Tool) 2 controlfile 丢失的恢复 --1 控制文件没有备份全部丢失 --1.哪些场景下需要用alter database open resetlogs打开库? --2.在删除所有controlfile和redolog日志的情况下shutdown abort异常关库,能用resetlogs打开库吗?为什么? --3.用dd命令损坏其中…