自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Crazy Snail

万头攒动火树银花之处不必找我。如欲相见,我在各种悲喜交集处,能做的只是长途跋涉的归真返璞。

  • 博客(14)
  • 收藏
  • 关注

原创 分治算法

分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。 3) 利用该问题分解出的子问题的解可以合并为该问题的解; 4) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。 第一条特征是绝大多数问题都可以满足的,因为问题的计算复杂性一般是随着问题规模的

2016-09-17 00:14:09 360

原创 动态规划——在做题中理解你的美

一、求数组最大子数组和 子数组必须是连续的,数组中可能包含有:正整数,零,负整数三种中的一种或多种。 方法一:可以用普通的方法枚举所有的连续子数组,然后求出最大的子数组和,时间复杂度为O(n*n)。 方法二:动态规划! 方法一代码:int MaxSubString(int[] A, int n){  int max = min; //初始值为负无穷大  int sum;  for(

2016-09-16 14:18:24 352

原创 JAVA笔试题笔记(三)

一、一个栈的入栈序列为A B C D E 则不可能的出栈序列为? 1.ECDBA 2.DCEAB 3.DECBA 4.ABCDE 5.EDCBA 栈讲究先进后出,后进先出。 1.不可能,错在既然E已经出栈表示前面都已经压进去了,所以只可能是EDCBA 2.不可能,错在如果A已经出栈,那么必须是第一个出栈或者一定要在B后面才能出栈,因为此时B已经压入了 3.ABCD入栈然后D出栈,然

2016-09-13 11:13:44 1012

原创 JAVA笔试题笔记(二)

2016广联达笔试题 一、解释操作系统中heap和stack的区别 1.heap是堆,stack是栈。 2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的(Java中是由垃圾回收机制负责),heap常用new关键字来分配。 3.stack空间有限,heap的空间是很大的自由区。在Java中,若只是声明一个对象,则先在栈内存中为其分配地址空间,若再new一下,实例化

2016-09-12 14:20:12 740

原创 排序算法小结(未完)

排序算法稳定性概念:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。 堆排序、快速排序、希尔排序、直接选择排序是不稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。 1.冒泡排

2016-09-09 18:49:07 338

原创 JAVA设计模式之迭代器模式

迭代器模式的结构: 抽象容器:一般是一个接口,提供一个得到迭代器(iterator)的方法,例如java中的Collection接口,List接口,Set接口等。 具体容器:就是抽象容器的具体实现类,比如List接口的有序列表实现ArrayList,List接口的链表实现LinkList,Set接口的哈希列表的实现HashSet等。 抽象迭代器:定义遍历元素所需要的方法,一般来说会有这么三个方

2016-09-09 16:02:45 494

原创 概率算法思想

蒙特卡罗求圆周率import java.util.Scanner;public class Z { public static void main(String[] args) { long n;double pi; Scanner sc=new Scanner(System.in); System.out.println("输入点的数量n=");

2016-09-05 16:48:12 425

原创 JAVA笔试题笔记(一)

1.下面有关 JAVA 异常类的描述,说法正确的有? 正确答案 : ABC A:异常的继承结构:基类为 Throwable,其中Error 和 Exception 继承 Throwable,而RuntimeException 和 IOException 等继承 Exception B:非 RuntimeException 一般是外部错误,其需要被 try{}catch 语句块所捕获,或者用th

2016-09-05 16:31:14 2232

原创 分治算法

分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。 分治法解题的一般步骤: (1)分解,将要解决的问题划分成若干规模较小的同类问题; (2)求解,当子问题划分得足够小时,用较简单的方法解决; (3)合并,按原问题的要求,将子问题的解逐层合并构成原问题的

2016-09-03 12:22:32 303

原创 递推算法

相对于递归算法,递推算法免除了数据进出栈的过程,也就是说,不需要函数不断的向边界值靠拢,而直接从边界出发,直到求出函数值. 比如阶乘函数:f(n)=n*f(n-1) 在f(3)的运算过程中,递归的数据流动过程如下: f(3){f(i)=f(i-1)*i}–>f(2)–>f(1)–>f(0){f(0)=1}–>f(1)–>f(2)–f(3){f(3)=6} 而递推如下: f(0)–>f(1)

2016-09-03 00:09:46 406

原创 递归算法

递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数). 编写递归调用方法时必须使用if语句强制方法在未执行递归调用前返回!!!(要有终止处,不能无限递归) 1.阶乘import java.util.Scanner;public class JieC { publi

2016-09-02 23:06:50 238

原创 穷举算法

穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。 1.鸡兔同笼:共35个头,94只脚,问鸡兔分别有多少?import java.util.Scanner;public class Pl { stat

2016-09-02 22:50:33 854

原创 栈结构、队列

栈结构是一种线性结构,又可分为顺序栈结构和链式栈结构,栈结构只能在一端进行操作,称之为栈顶,另一端为栈底,遵循后进先出的原则。栈结构只有栈顶元素可以访问。一般操作有入栈(PUSH)和出栈(POP)。 队列结构是一种线性结构,又可分为顺序队列结构和链式队列结构,队列结构只能在一端进行删除操作,称之为队头,在另一端进行插入操作,称为为队尾,遵循先进先出的原则。一般操作有入队列(将一个元素插入到队尾)和

2016-09-02 16:40:37 254

原创 用JAVA实现顺序表

顺序表演示package date;import java.util.Scanner;//顺序表数据元素类Dateclass Date { // 模拟一个班级的学生记录 String key; String name; int age;}class SLType { static final int MAXLEN =

2016-09-02 16:08:38 2530

空空如也

空空如也

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

TA关注的人

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