快速排序:在一组数据中,可以将左边的数字当作枢轴(右边也可以),接下来要做的就是,先从右边找到比枢轴小的数, 再从左边找到比枢轴大的数,接着将这两个数进行交换,重复上述步骤找出所有符合条件的数进行交换, 最后将枢轴放到比枢轴大的数与比枢轴小的数之间.之所以要从右边开始找,并且找到比枢轴小的数是因为交换后小的数就在枢轴的左边了. 下面举个比较特殊的例子希望能增加理解. 1 9 8 5 6 7 3 2 0 4 先从右往左找到比1小的第一个数字为0,此时的索引位置j=8,再从左往右找到比1大的第一个数…
1.自定义的HttpFilter,实现Filter接口 HttpFilter package com.aff.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.S…
快速排序介绍 快速排序(Quick Sort)使用分治法策略,其基本思想是:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另外一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的. 快排流程: 从数列中选取一个基数 将所有比基数小的摆放在基数前面,所有比基数大的摆在基数的后面(相同的数可以到任一边):在这个分区退出之后,该基准就处于数列的中间位置. 递归地把"基数前面的子数列"和"基数后面的子数列"进行快速排序.…
java不死的原因就是:就是因为他有一个核心非常强大的技术框架支持. Spring IOC: Inverse Of Control 控制反转 IFly fly; AOP: Aspect Oriented Programming 面向切面编程 OOP: Object Oriented Programming 面向对象编程 四大核心:抽象 封装 继承 多态 OOD: Object Oriented Design 面向对象设计 工程师 架构师 30k---60k OOA: Object Oriente…
目前大部分手游都会采用热更新来解决应用商店审核周期长,无法满足快节奏迭代的问题.另外热更新能够有效降低版本升级所需的资源大小,节省玩家的时间和流量,这也使其成为移动游戏的主流更新方式之一. 热更新可以分为资源热更和代码热更两类,其中代码热更又包括Lua热更和C#热更.Lua作为一种轻量小巧的脚本语言,由Lua虚拟机解释执行.所以Lua热更通过简单的源代码文件替换即可完成.反观C#的整个编译执行过程是先通过编译器将C#编译成IL(Intermediate Language),再由CLR(Commo…
所谓的快速排序的思想就是,首先把数组的第一个数拿出来做为一个key,在前后分别设置一个i,j做为标识,然后拿这个key对这个数组从后面往前遍历,及j--,直到找到第一个小于这个key的那个数,然后交换这两个值,交换完成后,我们拿着这个key要从i往后遍历了,及i++;一直循环到i=j结束,当这里结束后,我们会发现大于这个key的值都会跑到这个key的后面,不是的话就可能你写错了,小于这个key的就会跑到这个值的前面:然后我们对这个分段的数组再时行递归调用就可以完成整个数组的排序. 用图形法表示由…
以前我一直不能理解LISP里引用的作用,感觉引用和字符串没什么区别.比如:> (define (func)     'ok) > (func) 'ok 这里把引用ok当做了函数func的返回值. 但是我在实现函数式汉语编程的时候,我把代码构造成了一个多叉的语法树,这时候对某一段代码的引用,就是不对代码Eval,直接返回语法树的根节点.类似于: > '(car (a b)) '(car (a b))可是LISP中的引用实际上是一个construct,它可以被car.cdr.即:> (…
项目源码下载:http://download.csdn.net/detail/liangrui1988/6720047 效果图: 相关代码: test1 package com.mail; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mai…
本系列目录:Abp介绍和经验分享-目录 介绍ABP的文章,大多会提到ABP框架吸收了很多最佳实践,比如: 1.N层 (复用一下上篇的图) 展现层(Personball.Demo.Web):asp.net mvc只是其展现层,abp同时支持宿主为控制台程序.win服务或桌面程序WPF(wpf我不熟,理论上支持) 应用服务层(Personball.Demo.Application):对外提供功能的大粒度层次,参考门面模式(Facade Pattern)(另一种理解:应用服务是按用例组织代码提供功能)…
---java抽象类 当我们定义的对象无法抽象或者不适合抽象为一个具体的类的时候 我们通常定义其为一个抽象类 like 衣服 (多种衣服) 手机 (多种手机) ---接口和抽象类的异同 对于概念上来说,java是一门面向对象的语言,接口和抽象类分别对其又不同的解释和实现,对于接口来说,其规范了和解释了对象的行为方式,也就是接口中的方法, 而对于抽象类来说,其更像是对于对象的最高度抽象,比如人抽象为最高级的人类,这是一个抽象的概念,并不可以具体实现,但其高度概括了类 使用来说,interface和…
一.AOP理解 AOP:横向抽取机制,底层使用代理方式实现. 示例: 现有LogDAO接口以及实现Log接口的Log类.类有add的方法,现在要打印add方法的开始时间和结束时间.(即增强Log的add方法) 1.LogDao接口 2.Log类(委托类,实现具体的逻辑) 3.LogProxy类(静态代理类) 4.LogStaticFactory类(代理工厂) 通过代理工厂,用户在生成LogDao实例时就不用考虑用Log类还是LogPorxy类 5.TestAop类(测试类)和结果 通过创建代理类…
    苹果定义的HLS协议,广泛运用在现在很多的流媒体服务器和客户端之间,用以传输直播电视数据流.    具体的协议参照    http://tools.ietf.org/html/draft-pantos-http-live-streaming-10    我这里对HLS的客户端协议做一个简单的综述.     HLS协议其实也是基于HTTP的流媒体协议,我们知道传统的流媒体协议有这么几个,http渐进下载.RTSP.MMS等等,简单说一下几个的区别,描述的可能不是很准确.HTTP一般用于大段…
转自:http://developer.51cto.com/art/201003/190206.htm Java Socket通信读取有不少需要我们注意的知识点.当我们在使用的时候有很多的问题摆在我们面前.下面我们就来详细的学习有关Java Socket通信读取的相关代码编写. 以下是Java Socket通信读取的相关代码. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; im…
快速排序c++实现 快排C++ 第一.算法描述 快速排序由C. A. R. Hoare在1962年提出,该算法是目前实践中使用最频繁,实用高效的最好排序算法, 快速排序算法是采用分治思想的算法,算法分三个步骤 1.从数组中抽出一个元素作为基数v(我们称之为划界元素),一般是取第一个.最后一个元素或中间的元素 2.将剩余的元素中小于v的移动到v的左边,将大于v元素移动到v的右边 3.对左右两个分区重复以上步骤直到所有元素都是有排序好. 第二.算法实现 1 2 3 4 5 6 7 8 9 10 11…
MAVEN2的配置文件有两个settings.xml和pom.xml settings.xml:保存的是本地所有项目所共享的全局配置信息,默认在maven安装目录的conf目录下,如果没有安装maven而是用的m2eclipse插件,那么也可以把这个配置文件放在.m2目录下 pom.xml:描述项目的配置文件,放在每个项目的根目录下 settings.xml localRepository:本地仓库位置,默认在.m2/repository/,可以人为更改 offline:离线开关,是否每次构建都…
首先,Blob使用的小例子(通过运行结果即可知道相关功能): #include <vector> #include <caffe/blob.hpp> #include <caffe/util/io.hpp>//磁盘读写 #include <iostream> using namespace std; using namespace caffe; int main() { Blob<float> a; cout<<"Size:…
快速排序有三大要素 分别是 第一:找基准值--key 第二:分区 第三:比较数字大小 先来看下快速排序流程: 基准值key选取了第一个元素78 基准值是可以任意一个元素 因为选择了最左边的数据,那么就从右边开始遍历 经过上一轮变化key变成了78 位置也变了,开始从key的左边遍历,当 i=j的时候,结束遍历,开始分区 分区后,每个区再进行上面的比较 继续分区,直到分区里面只有两个或者3个元素,分区后,每个分区继续比较 现在每个分区已经最小了,获得最后排列的值 Python实现过程(正序),一共…
上一篇文章我们介绍了使用逻辑回归来处理分类问题,本文我们讲一个更强大的分类模型.本文依旧侧重代码实践,你会发现我们解决问题的手段越来越丰富,问题处理起来越来越简单. 支持向量机(Support Vector Machine, SVM)是最受欢迎的机器学习模型之一.它特别适合处理中小型复杂数据集的分类任务. 一.什么是支持向量机 SMV在众多实例中寻找一个最优的决策边界,这个边界上的实例叫做支持向量,它们"支持"(支撑)分离开超平面,所以它叫支持向量机. 那么我们如何保证我们得到的决策边…
内部排序: 就是使用内存空间来排序 外部排序: 就是数据量很大,需要借助外部存储(文件)来排序. 直接上代码: package com.lvcai; public class Sort { public static void main(String[] args) { //排序 分为: 内部排序(使用内存来排序) , 外部排序(需要借助外部存储) // 内部排序: // int[] array = {100, 6, 9, 2, 1, 0, 54,23,5}; // int[] arr = ne…
下面截图是在下面开源代码下使用VS2015修改部分代码后适配而成,可以在Windows平台上运行, 下载连接: http://pan.baidu.com/s/1i4zKGx3.…
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
<script type="text/javascript"> function Person(name) { this.name = name; } Person.prototype.getName = function() { return this.name; } function Author(name, books) { Person.call(this, name); // 定义:调用一个对象的一个方法,以另一个对象替换当前对象. this.books = bo…
0.二叉树最大深度 原题目:Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 方法:求最大深度的时候,只需要比较左右子树的深度,取较大者+1就行了 C++代码: class Solution { public: int minDep…
原文链接:常见面试题 本文大纲与之类似,在其基础上加入了自己在实际项目中对部分知识点的理解 Q1:谈谈对redis的理解 Q2:谈谈实际应用中怎么用redis的 2.1 缓存 2.2 分布式锁 2.3 消息队列 Q3:redis的数据类型 Q4:持久化方式,各自优缺点, Q5: RESP Q6:Redis 有哪些架构模式?讲讲各自的特点 Q7:缓存异常的情景 总原则:锁啥的尽量不用 7.1 穿透: 请求数据库不存在的数据. 7.2 雪崩: 集中写缓存导致集中过期,对数据库产生周期性的压力.非致命…
事务代码 事务描述 事务代码 事务描述 SE37 ABAP/4函数编辑器 BAPI BAPI 浏览器 SE38 ABAP编辑器 LSMW 数据导入工具 SE39 ABAP分屏编辑器 PFCG 权限管理 SE91 消息维护 SA38 程序执行 SE93 维护事务代码 SE10 请求传输 SE11 ABAP字典 SE55 生成表维护程序 SE16 数据浏览器与维护 SE71 FORM设计 SE16N 常规表维护 SM04 显示在线用户 SE41 菜单制作器 SM35 进程监控 SE51 屏幕制作 S…
1.下载相关jar包https://github.com/mybatis/generator/releases 2.配置xml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "htt…
1.基础 1)slice() 方法可从已有的数组中返回选定的元素. start:必需.规定从何处开始选取.如果是负数,那么它规定从数组尾部开始算起的位置.也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推. end:可选.规定从何处结束选取.该参数是数组片断结束处的数组下标.如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素.如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素. 返回一个新的数组,包含从 start 到 end (不包括该元素)的 a…
数组 arrayMax 返回数组中的最大值. 将Math.max()与扩展运算符 (...) 结合使用以获取数组中的最大值. const arrayMax = arr => Math.max(...arr); // arrayMax([10, 1, 5]) -> 10 arrayMin 返回数组中的最小值. 将Math.min()与扩展运算符 (...) 结合使用以获取数组中的最小值. const arrayMin = arr => Math.min(...arr); // arrayM…
1. 说说GloVe 正如GloVe论文的标题而言,GloVe的全称叫Global Vectors for Word Representation,它是一个基于全局词频统计(count-based & overall statistics)的词表征(word representation)工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性(similarity).类比性(analogy)等.我们通过对向量的运算,比如欧几里得距离或者cosine相似…
BAPI_GOODSMVT_CREATE参数 goodsmvt_code中的GM_CODE是为 BAPI 货物移动分配事务代码 其取值为下面对应的事务代码: 01 MB0102 MB3103 MB1A04 MB1B05 MB1C06 MB1107 MB04…