- 博客(37)
- 资源 (15)
- 收藏
- 关注
原创 查找 TopK 问题
从海量数字中寻找最大/小的 k 个,这类问题我们称为 TopK 问题。通常使用数据结构-最大/小堆来解决求前 k 大,用最小堆,即堆顶元素为堆中最小值。求前 k 小,用最大堆,即堆顶元素为堆中最大值。如前k大的值, 传入列表 list=[12, 39, 3, 72, 56, 81, 15, 9, 103] 和 k=3, 输出 [103, 81, 72]。如前k小的值, 传入列表...
2019-10-26 11:40:23
680
原创 二叉树的层序遍历
二叉树的层序遍历,分为自上而下和自下而上进行层序遍历。自上而下:从根结点层往下逐层从左往右访问。自下而上:从叶子结点层往上逐层从左往右访问。1.自上而下层序遍历思路:利用队列先进先出的特性。1.创建Queue,根节点入队;2.队列不为空,记录此时的队列长度(即该层的元素个数);3.按以上长度循环遍历队列,取队列元素,将结果存到一个一维向量,然后入队其左右两个子节点。将结果添...
2019-10-26 11:37:01
1803
原创 二叉树的前中后序遍历
二叉树的前中后遍历,其前中后,您可理解为指的是根结点所在的序。前序遍历:前序遍历的顺序为根-左-右中序遍历:中序遍历的顺序为左-根-右后序遍历:后序遍历的顺序为左-右-根1.前序遍历思路:利用栈后进先出的特性。1.根结点入栈;2.循环取栈顶元素、右子结点入栈、左子结点入栈。JAVA参考代码public class TreeNode { int val; ...
2019-10-26 11:35:45
334
原创 反转链表的几种模式
链表作为一种常用的数据结构,面试当然也是家常便饭。此处就来谈谈关于链表面试中的的几种常见反转。1.逆序所有节点输入:list = 1->2->3->4->5->null输出:list = 5->4->3->2->1->null思路:定义previous、current、next(即前驱、当前、后继)指针。从头结点开始往后一个个逆...
2019-10-26 11:32:46
311
原创 Java踩坑历程
Integer缓存坑 1.默认情况下Integer.valueOf(int i)方法,假如i的值在[-128, 127]的区间内,则返回值由IntegerCache.cache产生,相同的参数值会返回同一个Integer对象,故可以使用==比较。 2.而Java的自动装箱机制,内部调用的也是Integer.valueOf(int i)方法,故由Java自动装箱的该区间内的值的Integ
2017-11-24 09:19:30
918
原创 Java8 Stream篇章
Stream从入门到离家出走 类似于DB的视图(转换后成为数组、集合或流的视图) 流式操作,用后即无获得Stream Stream.of(T …args) Collection.stream() Collection.parallelStream() Arrays.stream(T[] array) 中间操作 惰性执行,调用此操作仅生成新stream。返回
2017-11-24 09:17:46
456
原创 SpringBoot Web配置
Web相关配置提供的自动配置 自动配置类:WebMvcAutoConfiguration1.自动配置的ViewResolver ContentNegotiatingViewResolver:代理给不同的ViewResolver处理不同的View。 BeanNameViewResolver:根据返回的字符串寻找相应的view。 InternalResourceViewResol
2017-11-24 09:15:06
500
原创 XMLHttpRequest使用
获取来自服务器的响应responseText:字符串形式响应数据document.getElementById("myDiv").innerHTML=xmlhttp.responseText; responseXML:xml形式响应数据 xmlDoc=xmlhttp.responseXML;txt="";x=xmlDoc.getElementsByTagName("
2014-08-19 19:09:32
819
原创 Spring配置使用
Spring配置使用控制反转(IOC):应用把对象控制权交给spring容器管理。反转指控制权的转移。面向切面(AOP):拦截方法,用户没有权限就不让用户执行业务中的某些方法。配置文件:applicationContext.xml,将bean放入Spring容器头部:schemespring创建对象的方式:1.默认调用构造函数2.静态工厂方法创建3. spring模
2014-08-19 19:06:59
746
原创 struts2数据标签
action:在JSP页面直接调用一个Actionname:指定调用的Actionnamespace:指定调用的Action所在的namespacevar:将Action放入Stack ContextexecuteResult:将Action的处理结果包含到页面,默认falseignoreContextParams:页面的参数是否传入Action,默认false bea
2014-07-11 00:02:37
744
原创 struts2控制标签
iteratorvalue:指定被迭代的集合,默认使用ValueStack栈顶的集合,通常用ONGL表达式指定。id:指定集合里元素的IDstatus:指定迭代时的实例,可获取当前迭代元素的属性。实例的属性:int getCount():返回当前迭代了几个元素int getIndex():返回当前迭代元素的索引boolean isOdd():当前迭代元素的索引是否为奇数
2014-07-10 18:51:16
608
原创 struts2国际化
struts2加载全局资源文件全局国际化资源文件名组成:baseName_language_country.properties,如:mess_en_US.properties,mess_zh_CN.properties,提供不同语言的资源文件后,系统会根据浏览者所在的Locale来加载对应的加载时文件名只需写baseName即可,文件应置于类加载路径下,src编译后到classesl
2014-07-08 16:19:39
737
原创 Struts2异常处理
配置作用 将异常类型与逻辑视图名映射异常类型配置相同时:局部异常映射覆盖全局异常映射。 局部异常映射元素作为元素的子元素配置 全局异常映射元素作为元素的子元素配置 /exception.jsp位置必须置于以下前方指定异常类型 --> 输出异常信息 输出异常对象本身 输出异常堆栈信息
2014-07-06 18:52:29
584
原创 Action处理结果
Action处理结果Action处理完用户请求后,将返回一个字符串(逻辑视图名)。redirect和redirectAction两种结果类型,都会重新生成一个请求,丢失请求参数,请求属性和前一个Action的处理结果。可使用ONGL表达式调用Action的属性来匹配物理视图。${ActionFiled} 全局结果配置局部result和全局result同名,则局部覆盖全局。
2014-07-06 18:17:40
722
原创 Action包和命名空间及其动态方法调用
Action包和命名空间属性:name:指定包的名称(必选)extends:指定继承的包,可继承到拦截器,action等配置namespace:指定包的命名空间abstract:抽象包不能含有action的定义 namespace提供命名空间,用于处理同一web应用下有同名的action。访问namespace需在url加上该路径。默认命名action可
2014-07-06 17:01:56
2797
原创 Action访问Servlet API
Action访问Servlet API:非直接获得:ActionContext类:http://struts.apache.org/release/2.3.x/index.html通过静态方法获取实例:ActionContext ac = ActionContext.getContext();ActionContext访问以下范围的属性:Request: ac.put(“nam
2014-07-05 23:25:49
708
原创 第2次实验 - 算法基本功与综合思考
对文件 largeW.txt(下载链接)中的数据,应用快速排序算法进行排序,并与冒泡排序、归并排序进行时间比较。体验算法复杂度对设计算法的影响。
2014-06-12 00:36:31
768
原创 第1次实验 - NPC问题(回溯算法、聚类分析)
实验内容(1)八皇后及N皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出9
2014-06-10 16:25:28
829
原创 struts2 web项目发布到SAE上报错问题
web项目使用struts-2.3.16.1,发布到SAE创建版本后,打开出现下面错误。Error 404 - Not Found.No context on this server matched or handled this request.Contexts known to this server are:/1/digitalstore ---> c.s.s
2014-06-10 08:59:54
1207
原创 Struts2 -- 标签库的使用
通常,网站开发中定义完成一个页面元素时,需要考虑格式化其显示效果,否则显示页面将混乱不堪。对于数据的访问,需自实现遍历代码来完成。然而,这些格式化操作和数据访问操作我们可以使用struts2标签库来完成。这样可以简化开发过程。Struts标签库,值得去尝试。1.struts标签可归纳为:1)UI标签:生成HTML标签表单标签: 生成表单元素,如:form, textfi
2014-04-07 09:09:08
1063
原创 Struts2 -- struts.xml配置总结
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <!-- *** 常量配置 *** *@param name 常量名 *@param
2014-04-06 22:45:10
731
原创 第四周作业 -- 图的表示
本程序将已有的图数据(边 - 边),图的边数,顶点个数,转换为邻接矩阵存储的方式。前往了解邻接矩阵代码如下:import java.io.File;import java.io.FileNotFoundException;import java.io.PrintWriter;import java.util.Scanner;public c
2014-04-01 22:22:21
650
原创 第三周作业 -- 冒泡排序和归并排序
对于较少的数进行排序,冒泡和归并算法的优势区分并不明显,然而,这次对长度为1000000的数组进行排序。使用冒泡排序算法,简直无情,历时43分钟有余(2619秒)!而归并排序算法对其实现仅仅使用了264毫秒,你没看错!相差的除了数值还有一个数量级!由此可见,算法的优化对于机器处理来说,其重要性不言而喻。冒泡排序参考资料:http://zh.wikipedia.org/wiki/%E5%
2014-03-28 08:44:58
1008
原创 第二周作业04 -- 简单的公开密钥(N,e)生成算法
RSA算法的公开密钥(N,e)的生成,对于个人pc,此处生成的大质数做了缩小化处理。代码如下:1.CreateRSA.java//输入二进制数位,随机生成与该位数对应长度的二进制数(生成的数需是素数,否则重新生成),并转化为Long型的整数public class NBits2LongPrime { //素数判断算法 public int isPrime(
2014-03-20 22:22:38
1054
原创 冒泡排序 - 随机生成数组并对其排序
给定一个指定的长度,生成该长度的一个随机数组,并用冒泡排序法进行排序。代码如下:import java.util.Scanner;public class SortArray { public static void main(String[] args) { //此处可添加输入异常捕获,输入一个数n,并创建长度为n的整形数组 System.out.print
2014-03-20 21:28:52
6113
原创 第二周作业03 -- 随机生成一个n位的二进制数(质数)对应的长质数
问题分析:上一篇文章提及随机生成一个n位的二进制数对应的长整数出现素数概率:一个随机的n位长的数字为素数的概率大约有1/n算法:在此只需把上一篇博客的生成数的算法中添加素性测试即可完整代码://输入二进制数位,随机生成与该位数对应长度的二进制数(生成的数需是素数,否则重新生成),并转化为Long型的整数import java.util.Scanner;publi
2014-03-18 10:57:50
1275
原创 第二周作业02 -- 随机生成一个n位的二进制数对应的长整数
随机生成一个n 位二进制数的对应的长整数(long)。输入:输入一个二进制的数位n,随机数bit位的长度为n(解释:3bit位,则最大为111,最小为100;n位,则该数字二进制长度为n)输出:返回该随机数的long型考虑到Math.random()生成的随机数值为0.0Math.random()1.0,因此对于生成n位长的二进制数(
2014-03-18 08:16:59
4152
原创 第二周作业01 -- 素数的算法实现
素数:一个数除了1和它本身之外没有别的约数。本程序简单实现了随机输入一个整数,判断它是否为素数。实现代码://判断输入的数是否为质数import java.util.Scanner;public class IsPrime{ //构造函数 public IsPrime(){ System.out.print("请输入一个整数:"); input();
2014-03-17 11:44:03
665
原创 第一周作业 -- 算法概论思维导图
使用xmind制作算法概论课程的整体思维导图,初步了解了xmind软件的使用,以及对算法概论的整体知识有了一定的了解。思维导图制作软件xmind下载: http://www.xmind.net/思维导图链接查看:算法概论 - 思维导图
2014-03-12 11:25:34
1181
原创 3.6 欧几里得算法课堂测试
201111621302class Gys{ //递归实现 public int gcd(int m,int n){ if(m<n){ int tmp = m; m = n; n = tmp; } if(n == 0) return m; else return gcd(n,m%n); } //非递归实现 public int
2014-03-07 22:42:34
1104
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人