自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wastematerial的博客

笨孩子就该多打码

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

原创 java 并发编程之 BlockingQueue(阻塞队列)

BlockingQueue是Queue的一种线程安全的实现方式,其除了加了线程锁之外,还提供了一些阻塞等待的接口方法,供更多的功能实现方式。BlockingQueue作为一个阻塞等待队列,其最常用的方法:其内部成员主要我们可以从源码中看到其包含一个线程锁,和两个condition对象。队列,有着队头和队尾,我们可以很自然的可以联想到,队头消费,队尾生产,而BlockingQ...

2018-12-26 10:00:35 233

原创 Java 反射---数据序列化成对象 总结

说起java的序列化,我们最初的理解就是形成一个文件,保存到本地,这是最为常用的一点,也算是较为基础的一部分了。而反射呢,不外乎就是跳过预编译,生成一个对象,代替一个new 的过程。常用基础的应该就是Class.forName(),和Class.newInstance()这两个方法了。在这周的空闲时间重新回顾了下java反射的基础,对其有了一个新的理解,其主要的工具包主要是依赖于 ja...

2018-09-14 17:02:46 1073

原创 排序算法之 堆排序

在堆中,我们熟悉的有小顶堆、大顶堆。其是怎么定义呢,正如一颗二叉树的数据结构,大顶堆的定义是每一个根(节点)都会比它们的两个节点的值要大,二小顶堆,其恰恰是跟大顶堆相反。我们已大顶堆为例: 堆排序的基本思想是:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。...

2018-08-30 22:39:00 237

原创 java 栈实现

栈---先进后出的数据结构,与队列相反。package aobi.com.task;public class StackByBianca <E>{ private Object[] stack = null; private int top = -1; private int maxTop = 0; StackByBianca(){ this(10); ...

2018-08-23 21:15:11 249

原创 Restful

今天偶然看到了Restful,来做一个小总结。Restful:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。这是一个较为正式的说法,其实简单来说Restful就是一种编程的设计风格,这个风格可以带给我们一些便利。Restful架构的主要原则

2018-02-06 21:49:42 245

原创 Spring 之 接口编程

Spring中接口编程的小总结

2017-09-03 22:23:26 325

原创 算法设计例题:最大团(回溯、分枝限界)

Description给定无向图G=(V,E)。如果UV,且对任意u, v ∈ U 有 (u,v) ∈ E,则称U是G的完全子图。G的完全子图U是G的团,当且仅当U不包含在G的更大的完全子图中。G的最大团是指G中所含顶点数最多的团。Input输入的第一行为测试样例的个数T ,接下来有T个测试样例。每个测试样例的第一行是 顶点数n 和 边数m ( n ≤ 20,m ≤ 4

2016-11-15 16:59:23 4313 1

转载 Floyd算法

floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题,我们需要为这个目标重新做一个诠释(这个诠释正是动态规划最富创造力的精华所在),floyd算法加入了这个概念    Ak(i,j):表示从i到j中途不经过索引比k大的点的最短路径。    这个限制的重要之处在于,它将最短路径的概念做了限制,使得该限制有机

2015-11-08 12:16:09 570

转载 Dijkstra算法

Dijkstra算法(单源最短路径)      单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。在弄清楚如何求算单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质。一.最短路径的最优子结构性质   该性质描述为:如果P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必定是从k

2015-11-07 13:45:44 406

转载 KMP算法

如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。    我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I'm matrix67",字符串B="matrix",我们就说B是A的子串。你可以委婉地问你的MM:“

2015-10-08 11:53:58 579

转载 BM算法

后缀匹配,是指模式串的比较从右到左,模式串的移动也是从左到右的匹配过程,经典的BM算法其实是对后缀蛮力匹配算法的改进。所以还是先从最简单的后缀蛮力匹配算法开始。下面直接给出伪代码,注意这一行代码:j ;BM算法所做的唯一的事情就是改进了这行代码,即模式串不是每次移动一步,而是根据已经匹配的后缀信息,从而移动更多的距离。1j = 0;

2015-10-05 11:16:07 537

原创 Cleaning Robot

DescriptionHere, we want to solve path planning for a mobile robot cleaning a rectangular room floor with furniture.Consider the room floor paved with square tiles whose size fits the cleaning

2015-06-28 11:21:32 1816

原创 Beam me out!

DescriptionKing Remark, first of his name, is a benign ruler and every wrongdoer gets a second chance after repenting his crimes in the Great Maze!Today's delinquent is a renowned computer scien

2015-06-12 23:56:51 906

原创 SPOKES WHEEL

Mr. Miyamoto is playing with a wheel. Each wheel can have many spokes. A spoke is one of the rods radiating from the center of a wheel (the hub where the axle connects), connecting the hub with the ro

2015-06-12 23:50:25 593

原创 Multiple

Descriptiona program that, given a natural number N between 0 and 4999 (inclusively), and M distinct decimal digits X1, X2 ... XM (at least one), finds the smallest strictly positive multiple of

2015-05-13 14:54:49 872

原创 Data Processing

DescriptionChinachen is a football fanatic, and his favorite football club is Juventus fc. In order to buy a ticket of Juv, he finds a part-time job in Professor Qu's lab.And now, Chinachen have

2015-05-10 17:24:28 696

转载 乘法逆元

乘法逆元定义:满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。为什么要有乘法逆元呢?当我们要求(a/b) mod p的值,且a很大,无法直接求得a/b的值时,我们就要用到乘法逆元。我们可以通过求b关于p的乘法逆元k,将a乘上k再模p,即(a*k) mod p。其结果与(a/b) mod p等价。证:(其实很简单。。。)根据b*k≡1 (mod p

2015-05-10 17:14:45 500

转载 扩展欧几里德算法

欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。gcd函数就是用来求(a,b)的最大公约数的。 gcd函数的基本性质:性质一:gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|)证明略。 性质二:gcd(a,b)=gcd(b,a mod b)证明:a可以表示成a = kb + r

2015-05-10 10:57:18 523

原创 Maze, amazing

DescriptionLet's play maze game again! Maze problem is an old problem but here comes a challenge one. Max, an intelligent robot, is trapped in anN*M maze grid. He is located at a start position

2015-05-06 23:39:11 553

原创 Easy BST

DescriptionBST (Binary Search Tree) is an efficient data structure for searching. In a BST all the elements of the left sub-tree are smaller and those of right sub-tree are greater than the root.

2015-05-02 00:48:50 454

空空如也

空空如也

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

TA关注的人

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