自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

原创 最长不下降子序列

package cn.edu.hit;import java.util.Scanner;/** * 求最长单调序列 * @author admin * */public class LongestMonotone { public static void main(String[] args) { Scanner in = new Scanner(System.in);

2017-05-28 15:09:39 480

原创 快速幂算法

1.概念  快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。2.算法代码  package cn.edu.hit;import java.util.Scanner;/** * 快速幂算法 * 利用二进制 * @author admin * */public class Exponentiation { pu

2017-05-24 14:45:55 378

原创 深度优先搜索求解迷宫问题

1.问题描述  定义一个二维数组:  int  maze[5][5] = {        0,1, 0, 0, 0,        0,1, 0, 1, 0,        0,0, 0, 0, 0,        0,1, 1, 1, 0,        0,0, 0, 1, 0,};  它表示一个迷宫,其中的

2017-05-17 19:42:53 1158

原创 排列组合n个元素中选取m个元素

1.代码

2017-05-16 21:42:30 5335

原创 24点游戏

1.问题描述  输入4个整数,运用四则元素,可以加括号,判断其运算结果能不能是24。2.相关定理  s是一个有理数的集合。  函数f(s)定义如下:  如果s中只有一个元素,则f(s)=s;  否则,f(s)=∪f(s-{r1,r2}+{r}),r1,r2是s中的任意两个元素,r的取值为r1和r2进行四则运算的结果。    因此我们从s中任取两个元素,求其四则运算的

2017-05-16 16:55:41 252

原创 回溯法实现求解子集合和问题

1.回溯法简介  回溯法是一种在解空间搜索问题的解的方法。它在问题的解空间树种,按深度优先的策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一节点时,先判断该节点是否包含问题的解。如果不包含,则跳过对以该节点为根的子树的搜索,逐层向其祖先节点回溯,否则进入该子树,继续按深度优先策略搜索。用回溯法求解问题的所有解的时,要回溯到根,且根节点的所有子树都被搜索遍才结束。用回溯法求问题的一个解时

2017-05-15 15:34:42 4573

原创 Java中的值传递和“引用传递”

1.Java中只有值传递   java中是没有指针的,java中只存在值传递, 然而我们经常看到对于对象(数组,类,接口)的传递似乎是引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。2.示例   对基本数据类型的传递大家都知道是值传递,接下类我给出对象传递的示例。public clas

2017-05-14 10:17:31 266

原创 动态规划求字符串之间的编辑距离

1.编辑距离的概念   编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。   例如site和ste两个字符串的编辑距离是1   site->ste(删除i)   ste->site(插

2017-05-11 10:28:41 928

原创 全排列算法

1.递归实现全排列算法     设全排列的元素集合为S={r1,r2,r3……},Sn表示全部n个元素进行全排列的个数,则递推式为Sn=r1S(n-1)+r2S(n-2)+...+rnS(n-1);riS(n-1)的意思是以ri开头,剩下n-1个元素进行全排列的个数,显然S1=r1=1。   那么每次怎么得到以不同元素开头的S(n-1)呢,通过交换swap(当前第一个元素,后面的各个元

2017-04-07 21:16:38 309

原创 关于运行bat文件的常见问题

1.以管理员身份运行.bat文件闪退  请确保你已经安装了jdk,而且已经正确配置了环境变量。2.error:unable to access jarfile cracker.jar  敲入cmd,进入dos界面,然后把你的当前路径切换到你当前存放这个文件的路径,然后再双击执行那个run.bat文件。

2017-04-03 10:56:00 2003

原创 用JS+Html5实现一个简单的音乐播放器

1.HTML <audio> 标签定义声音,比如音乐或其他音频流。其主要属性有src:要播放的音频的 URL,controls:如果出现该属性,则向用户显示控件,比如播放按钮,autoplay:该属性用来控制自动播放。 几个主要的标签如下: <div> <h4 id="name">李玉刚 - 刚好遇见你</h4>...

2017-03-29 20:34:31 31023 12

原创 Java中重要知识点

1.String是一个类,不属于基本数据类型,属于引用类型。2.被final修饰的类不能被继承。3.String类为什么是final的,主要是为了“效率”和“安全性”。4.HashMap和HashTable的比较  HashMap是基于哈希表Map实现的,除了非同步(线程不安全)和允许使用null以外,和HashTable(父类是Dictionary)没啥区别。5.Java中的

2017-03-26 19:26:43 282

原创 C#中窗体程序中快捷键的设置

1.填写表单时摁enter键或是上下键跳到下一编辑框  private void textBox2_KeyDown(object sender, KeyEventArgs e)//keyDown事件        {            if (e.KeyCode == Keys.Enter)//摁enter键,跳到你制定的编辑框            {

2017-03-25 20:40:41 3190

原创 Java不可改变字符串

1.什么是不可改变字符串  Java中的String类型是不可改变字符串,所谓的不可改变就是,一旦你对它赋值以后,它的值就不会再发生变化。   例:   String a= "abc";//a = "abc"   a = a+"def";//a = "abcdef"   你以为a的值已经发生了改变,但其实不是这样的,实际上Java虚拟机是重新开辟了一个内存,用来存储字符串"ab

2017-03-22 11:45:06 2367

原创 Java中==和equals的区别

1.对于数值型数据的比较  int a = 1;  int b = 1;  System.out.println(a==b);//true注:对于数值型类型,==就是判断两个值相等不相等,相等返回true否则返回false。2.对于Object类型  Person p1= new Person("小明");  Person p2= new Person("小明");

2017-03-20 21:46:17 228

原创 斐波那契数列的非递归实现

1.斐波那契数列是什么  在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)2.为什么要非递归  递归的好处:递归的代码很清晰,可读性好  递归的坏处:递归需要使用到系统的堆栈,空间消耗比非递归高很多,递归太深的话容易造成堆栈溢出,因此我们使用非递归来计算斐波那契数列。3.代码pack

2017-03-20 21:27:47 870

原创 动态规划求最大子数组的和

1.问题    输入一个整形数组,数组中的值有正整数也有负整数,数组中连续的一个或多个整数构成一个子数组,子数组的各个整数的和称为子数组的和,求最大的子数组的和,并给出该子数组,要求时间复杂度是O(n)。2.分析   设输入数组为a,设置一个数组b,b的各个元素均初始化为0,b[0]取a[0]和0中最大的一个值,然后b[i]取b[i-1]+a[i],a[i],0中比较大的值,思想就是如

2017-03-20 19:32:49 1234

原创 Java中的隐式参数和显示参数

public class Test{ private int num; public void add(int b){ b = a + b; }} 在上面的代码中,类Test中的方法add中的形参int b就是一个显示参数,它显示地表达了出来,算式b = a+b;其实可以表示为b = this.a + b;在这里,this就是个隐式的参数,

2017-03-20 19:12:41 1946 1

原创 java数组初始化以及数组拷贝

1.数组的声明   int[] a ;//这里只是声明了变量a,并没有将a初始化为一个真正的数组   int[] a = new int[100];//这里创建了一个可以存储100个整数的数组,当创建数值数组时,所有的元素都被初始化为0,boolean数组初始化为false,对象数组初始化为null值2.数组的初始化   int[] a = {2,4,5,7,8};//数组的长度由

2017-03-20 18:19:54 1636

原创 分治法求众数

一、思想      首先我们采用三数取中选取一个pivot,然后利用快排的partition进行划分,在分区的同时统计与pivot相等的元素的个数n(重数),如果n都大等于pivot左右 两边元素的个数,那它就是众数,否则选取比n大的分区采用同样的方法进行递归,并与原来的pivot和它的重数进行比较,选取大的,当递归结束后,众数以及它的重数就出来了。二、伪代码     GetMode(

2017-01-06 21:42:19 5179 1

原创 java实现多线程的方式以及run方法和start方法的区别

1.java实现多线程的两种方式  1)java类继承Thread类  继承Thread类是实现java多线程的一种方式,但是实际上Thread类本身实现了Runnable接口,它代表了线程的一个实例。   启动线程唯一的方法就是调用Thread类的start()方法,这时候便开启了一个新的线程。   以下附上代码:

2016-10-20 09:05:12 1218

用户登录界面和邮件发送界面设计

用户界面中登录界面和邮件发送界面的设计,包含可执行代码和源代码,以及设计报告

2017-05-17

编译原理编译器前端

编译原理实现的整个编译器前端,含词法分析,语法分析,语义分析整个流程,LL1文法,实验报告,测试用例,可执行代码和源代码

2017-05-14

编译原理语法分析器

编译原理语法分析,含详细实验报告,文法,测试用例,可执行程序,源代码

2017-05-14

编译原理词法分析器

编译原理实验课做的词法分析器,包含整个实验的说明文档,标识符转换表,测试用例,可执行程序,还有源代码

2017-05-14

用C#语言实现的词法分析器

词法分析是编译的第一个阶段,主要任务是读入源程序的输入字符,将它们组成词素,生成并输出一个词法单元序列,每个词法单元对应于一个词素。 本词法分析器中包含各种词法单元的正则表达式,DFA转换表,设计流程等。

2016-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除