- 浏览: 18305 次
- 性别:
- 来自: 广州
最新评论
文章列表
希尔排序的主要思想:
1.设定若干个步长step
2.将待排序列按照步长增量分为多个序列,比如步长是2,则将待排序列分为(1,3,5,7....)(2,4,6,8....)两个待排序列
3.分别对若干个待排序列进行直接插入排序
4.最后对整个序列做一次直接插入排序
注:直接插入排序在序列有顺序的时候,效率很高
public class ShellSort {
private static SortObj[] sortArray = {
new SortObj(11,""),new SortObj(9,"" ...
快速排序的主要思想:
第一步、在待排序列中选择一个基准数元素,
第二步、将小于(或者大于)基准数的其他元素放到基准数元素的左边,将大于(或者小于)基准数的其他元素放到基准数元素的右边;
第三步、对基准数元素左右两边的序列执行第二步的操作直到序列只有一个元素
public class QuickSort {
private static SortObj[] sortArray = {
new SortObj(11,""),new SortObj(9,""),new SortObj(18,"" ...
选择排序的主要思想:在第i趟排序中,将在待排序列中获取最小或者最大的元素与第i个元素交换位置;直到第n-1趟(也就是待排序列的倒数第二个)
public class SelectSort {
private static SortObj[] sortArray = {
new SortObj(11, ...
学习算法主要学习其思想,本章将讲述插入排序的直接插入排序算法;
主要思想:对于一个待排序的序列,我们假设第一个数已经为排好序的序列;并从第二个记录开始,往前比较,插入到有序序列当中,直至待排序序列最后一个记录插入结束。
注:直接插入排序需要设立哨兵(用于存放待插入记录)
public class StraightInsertionSort {
private static int[] sortArray = {20,9,18,77,10,6,9};
/**
* sort(直接插入排序,升序)
*/
public ...
方法区:存放着虚拟机已经加载的类信息、常量、静态变量等数据,是线程共享的。人们习惯将方法去称为“永久区”,这仅仅是因为hotspot虚拟机将GC分代回收扩展到了方法区的缘故。
运行时常量池是方法区的一部分,Class文件除了有类的字段,类型,方法,接口等信息之外,还有一项是常量池,用于存放编译期生成的字面量和符号引用等,这些内容在类加载的时候就被存放在方法区的运行时常量池里面;Java虚拟机规范规定,当方法区无法满足内存需求的时候,就会抛出OutOfMemeryError异常
今天写了下余弦相似度计算的算法,之前在学校做项目的时候使用到了,一直没去整理。
所谓的字符串余弦相似度,就是把每个字符串比作一个向量,通过计算向量余弦值来判断字符串的相似程度,余弦值越接近1,说明两个字符串的相似度就越高,余弦值的计算公式为:(向量a*向量b)/(向量a的模*向量b的模)
实现如下:
package demo.similarity;
import java.util.HashMap;
import java.util.Map;
public class Utils {
public static double calc ...
小功能,直接贴出代码,相信大伙知道的啦;用于计算两个日期之间的差
package demo.datecalculate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtils {
/**
* @param first
* @param second
* @return
* @throws Exception
* 计算两个日期之间的差
*/
public s ...
最近在做一个Java Swing的应用程序,使用到了JTable控件,需求就是当我点击Enter按键的时候,table能够换列,原先没有思路,然后再问答里提问了,有位小伙伴跟我说了用ActoinMap,非常感谢,现在问题解决了,和大家分享下,源码如下
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.ActionMap;
import javax.swing.JFrame;
...
这两天想学学android应用开发,用了小米手机作为开发机,但是原先一直都连接不上去,网上找了很多解决方案,都只是说安装好驱动什么之类的就可以了。最后总结了一下,以下的几个步骤:
1.下载一个豌豆荚(也可以用其他的,比如91助手,360之类的),豌豆荚会帮你自动的安装驱动(装驱动的时候,豌豆荚会提醒您在开发者模式中打开USB调试,假如您的小米手机开发者模式隐藏了,可以到 设置》关于手机,点击Android版本4次,手机会帮您打开开发者模式)
2.做开发的时候,记得不要关闭豌豆荚,如果关闭了豌豆荚,eclipse运行的时候检测不到您的小米手机
3.建立A ...
Exception in thread "main" javax.xml.ws.WebServiceException: Unable to create JAXBContext
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:153)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java: ...
目前需要用到jax-ws,所以在进行学习,当前给出一个jax-ws的应用流程:
1.创建接口HelloWorldService接口及方法
/**
* @(#) IHelloService.java
*/
package com.webservice;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
impo ...
public class EqualDemo {
public static void equalByStringInFront(String str){
try{
if(str.equals("")){
System.out.println("字符串变量在前面的调用equal方法,返回true");
}
}catch(NullPointerException e){
e.printStackTrace();
}
}
public static void equalByConstan ...