自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 回溯法

回溯法解决八皇后问题,具体Java代码实现如下所示:/** * 回溯法(八皇后) */public class EightQueen { public static int num=0;//累计可行方案 public static final int MAXQUEEN=8; public static int[] cols=new int[MAXQUEEN];/...

2018-08-31 22:10:34 152

原创 动态规划

匹配字符串中最长公共序列长度,具体的代码实现如下所示:/** * (动态规划)最长公共序列长度 */public class LCS { public int lcs(String A,String B){ int m=A.length(); int n=B.length(); char[] a=A.toCharArray();...

2018-08-31 22:09:03 89

原创 分治法

分治法解决循环赛,即观察矩阵的规律,采用分治法,将大矩阵分为小矩阵,分解至最小部分计算(运用到递归的策略),具体的Java代码实现如下所示:/** * 分治法解决球赛的循环赛 */public class Divide { public void divide(int[][] tab,int n){ if (n==1){ tab[0][0...

2018-08-31 10:52:08 525

原创 贪心算法

贪心算法,本算法的示例是尽可能往固定背包里放入尽可能价值高的物品,从而获取更大的价值,应该根据物品的性价比比较,来做取舍,具体的Java代码实现如下所示:import java.util.Arrays;/** * 贪心算法 */public class GreedyPackage { private int MAX_WEIGHTS=150; private int[...

2018-08-31 09:48:10 98

原创 运用递归的集中算法:最大公约数,阶乘,汉诺塔,倒酒

1,最大公约数/** * 欧几里得算法(求两个正整数的最大公约数) */public class Gcd { public int gcd(int m,int n){ int max=m; if (m<n){ max=n; n=m; m=max; } ...

2018-08-30 21:41:31 181

原创 排序算法之基数排序

基数排序思想:基数排序的实现,是将原数组中的数值,分别按照个位,十位,百位......等的数值依次分组,比如,先按照个位数值分组,将原数组的元素按照个位数字进行依次分配,然后将分配好的元素,依次按照个位数字的大小依次存入到原数组中,然后再将该数组按照十位,百位....上的数字分组,最终实现排序,具体的Java代码实现如下所示:import java.util.ArrayList;impor...

2018-08-27 10:03:58 890

原创 排序算法之归并排序

归并排序的思想:采用递归,将大数组划分为若干个小数组,进行各自的排序然后将各个小数组之间归并排序,最后对整个数组排序,划分数组的方法是采用一分为二平均分的原则,本算法是按升序排列,具体Java代码实现如下所示:public class MergeSort { public void mergeSort(int[] array,int left,int right){ ...

2018-08-26 21:44:26 124

原创 排序算法之快速排序

快速排序思想:快速排序实际上就是交换元素,类似于二分查找(本人理解),只不过二分查找是直接找寻中间位置的元素,然后比较大小,而快速排序则是经过前后不停的遍历数组,从而找到元素的落脚点,并把元素放在该位置(该位置不一定是中间位置,但是该元素的前面全部小于该元素,后面全部大于该元素)上,然后在以该元素为界分为前后两个部分,重复上述操作,至最后得出结果,具体Java代码(本代码采用升序排列)实现如下所示...

2018-08-26 20:09:34 290

原创 排序算法之堆排序

堆排序实际上利用了树的原理,其中在进行堆排序的过程,要先对给定的数组进行建堆(本算法采用的是大堆,即根节点比左右孩子都大),然后获取数组的中间值,根据此值,进行遍历建堆。具体Java实现代码如下所示:public class HeapSort { public void heapSort(int[] array){ if (array == null || array....

2018-08-26 13:31:07 119

原创 排序算法之希尔排序

希尔排序影响时间复杂度的因素是增量的改变,改变的幅度越大时间复杂度越少,具体Java代码实现如下所示:public class HeerSort { /** * 希尔排序 */ private void heerSort(int[] array){ //d为增量,调整增量的变化方式可以减少时间复杂度,本算法采取的是增量递减一的方法改变增量的...

2018-08-25 21:32:33 147

原创 排序算法之二分法插入排序

二分法插入排序与直接插入排序很相似,只不过,在查找插入位置的时候,用的是二分查找方法,具体的Java代码实现如下所示:public class BinaryInsertSort { private void binaryInsertSort(int[] array){ for (int i=0;i<array.length;i++){ i...

2018-08-25 20:41:03 1025

原创 排序算法之直接插入排序

插入排序具体Java代码实现如下所示:public class InsertSort { /** * 直接插入排序算法 * @param array */ public void insertSort(int[] array){ int data; for (int i=1;i<array.length;i++...

2018-08-25 18:32:13 130

原创 排序算法之选择排序算法

基本思想:选择排序在数组中不断的寻找到最小值(升序排列),然后将找到的值与指定的位置进行替换,即可看做将原数组分为两部分,一部分为有序的,另一部分为无序的,设置一个变量指向无序的第一位,每次遍历的时候只需要在无序的那部分查找最小值即可,直到最后排序成功,具体Java代码实现如下所示:public class SelectSort { /** * 选择排序算法 */...

2018-08-24 21:48:12 149

原创 关于图的构造,图的遍历

本代码是用Java实现了关于图的一些方法,其中包含了图的深度优先遍历,广度优先遍历,图中各顶点的出度,入度计算。具体代码实现如下所示:import java.util.LinkedList;public class Graph { private int verTexSize;//顶点数量 private int[] verTex;//顶点数组 private i...

2018-08-24 19:23:44 574

原创 查找二叉树中删除指定节点

删除二叉树中的指定节点可分为几种情况:(1)若指定节点即无左孩子,也无右孩子,则可直接删除节点(2)若指定节点左孩子为空,含有右孩子,则将其右孩子代替要删除的节点(3)若指定节点右孩子为空,含有左孩子,则将其左孩子代替要删除的节点(4)若指定节点既有左孩子,又有右孩子,分为:1.右孩子非空情况下,只需查找到其右子树的最小节点代替要删除的节点,2.若右孩子非空,则应找到该节点在全树的...

2018-08-23 21:24:35 5583

原创 根据前序序列创建二叉树

给定一个前序序列数组,将该数组转化为二叉树,本文实现如果节点没有左右孩子则用“#”代替,具体核心Java代码实现如下:/** * 根据前序序列创建二叉树 */public void createBinaryTreePre(ArrayList<String> data){ createBinaryTreePre(data.size(),data);}privat...

2018-08-23 14:34:27 5743

原创 构建查找二叉树

查找二叉树的特点是根节点的左孩子都小于根节点,右孩子都大于根节点,可以联想到二分查找。构造查找二叉树的Java实现如下:public class SearchBinaryTree { private TreeNode root; public class TreeNode{ private int key; private int data...

2018-08-23 14:28:06 950

原创 数据结构——二叉树

import java.util.Stack;/** * 二叉树的构建 */public class BinaryTree { private TreeNode root=null;  /*二叉树的构造函数根节点为A*/ public BinaryTree(){ root=new TreeNode(1,"A"); } /** ...

2018-08-22 20:41:07 121

mybatis与spring整合的jar包(含有springmvc)

此jar包主要用于SSM框架搭建过程中,整合框架的jar包,适合初学者在学习JAVA项目的时候,自己搭建SSM框架时使用。

2018-08-30

空空如也

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

TA关注的人

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