java
研客9527
本人自学能力比较强,有耐心,和毅力
展开
-
java的数据结构与算法(5)单项链表之新浪面试题
这可以说是对单链表的一种巩固吧问题:**查找单链表的第N个节点** /* * 思路:1.编写一个方法,接受head节点,同时接受index 2.index:表示倒数第index个节点 3.先把链表从头到尾遍历,得到链表的length * 4.得到size后,我们从链表第一个开始遍历(size-index),就可以得到 5.如果找到,返回该节点,否则返回空 */ public s...原创 2019-07-29 23:10:36 · 107 阅读 · 0 评论 -
java的数据结构与算法(6)单项链表之腾讯面试题
对实际问题的解决手段需求:单链表的反转大致思路:先遍历链表,创建新链表,取出一个节点,让取出的节点,放到新链表的头部。以此循环。// 百度面试题:将单链表反转 public static void reversetList(HeroNode head) { // 如果当前链表为空或者只有一个节点。无需反转,直接返回 if (head.next == null || head.ne...原创 2019-07-29 23:17:08 · 97 阅读 · 0 评论 -
java的数据结构与算法(7)单项链表之百度面试题
需求:从尾到头打印链表,不能使其结构发生变化思路:可以使用Stack(栈):先进后出小例子:// 百度面试题// 可以利用栈这个数据结构,将各个节点压入到栈中,然后利用栈的先进先出的特点,就实现了逆序打印的效果 public static void reversePrint(HeroNode head) { if (head.next==null) { return; // ...原创 2019-07-29 23:21:34 · 119 阅读 · 0 评论 -
java的数据结构与算法(8)双向链表
前言为什么要使用双向链表呢?单向链表有一个缺点:就是它不可以反向遍历,而双向链表就看可以。首先双向链表是单向链表的一种,其次它比单向链表多一个属性。pre(指向节点的上一个属性)package cn.itjy.linkedlist;public class DoubleLinkedListDemo { public static void main(String[] args) {...原创 2019-07-30 23:24:11 · 122 阅读 · 0 评论 -
java的数据结构与算法(9)单项环形链表(约瑟夫问题)
实际问题:约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。假定在圈子里前K个为好人,后K个为坏人,你的任务是确定这样的最少M,使得所有的坏人在第一个好人之前被杀掉思路分析:这里直接上代码了package cn.itjy.linkedlist;impor...原创 2019-07-30 23:46:09 · 203 阅读 · 0 评论 -
java的数据结构与算法(10)使用数组模拟栈
首先我们说一下栈1.栈的特点是先进后出2.变化的一端为栈顶3.固定的一段为栈底4.删除元素恰好相反,最先进入的后删除,后进入发先删除像极了弹夹装弹直接上代码package cn.itjy.Stack;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;imp...原创 2019-07-31 22:58:49 · 142 阅读 · 0 评论 -
SpringMVC入门
SpringMVC入门 1 开发环境Jdk:jdk1.7Eclipse:marsTomcat:apache-tomcat-6spring:4.2.42.开发步骤2.1 创建Dynamic web项目课堂上起的项目名字:springmvc-hello2.2 导入springmvc的jar包位置:F:/springmvc-corejar2.3 编写Tes...原创 2019-02-24 22:58:57 · 134 阅读 · 0 评论 -
ssm整合教程
1.先创建一个web项目(这里不仔细说明)2.创建对应的数据库和表由于我们是测试ssm框架的整合,使用一个表足够会我们使用mybatis的代码生成工具,减少我们的代码量3. 将我们使用的ja包导入项目中4.使用代码生成工具生成domain和dao,及其映射文件5.配置web.xml文件5.引入框架配置文件...原创 2019-03-01 23:18:52 · 177 阅读 · 0 评论 -
java的数据结构与算法(14)将中缀表达式存入ArrayList
前言:我们为了运算方便确定将表达式**“1+((2+3)4)-5";*转为 ArrayList [1,+,(,(,2,+,3,),,4,),-,5大致思路分析:1.先定义list ,用来存放中缀表达式的内容2.定义一个指针用来遍历;,定义一个字符串用来拼接多位数,定义一个char 每遍历一个字符,就放入到char3.开始循环,如果是符号,我们需要加入到集合中去,是数字则判断是否为多位数...原创 2019-08-02 11:01:27 · 154 阅读 · 0 评论 -
java的数据结构与算法(15)将中缀表达式转后缀表达式
前言:由于前面中缀表达式运算起来代码量太大,比较复杂,我们考虑转成后缀表达式进行计算。思路分析:1.2.3.直接上一波代码package cn.itjy.Stack;import java.util.ArrayList;import java.util.List;import java.util.Stack;/** * 中缀表达式转后缀表达式的代码 * * @...原创 2019-08-02 11:12:24 · 355 阅读 · 0 评论 -
java的数据结构与算法(25)基数排序
基数排序实际上就是对桶排序的优化思想代码块package cn.itjy.sort;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;import java.util.Random;/** * 基数排序 * * @author 86183 */publ...原创 2019-08-08 21:58:14 · 350 阅读 · 0 评论 -
java的数据结构与算法(26)二分查找
需求:对一个有序数组进行二分查找{1,8,10,89,1000,1234},输入一个数看看该数组是否存在此数,并且求出下标,如果没有就提示‘’没有这个数‘’思路:代码:package cn.itjy.search;import java.util.ArrayList;import org.w3c.dom.ls.LSException;/** * 二分查找 * * @a...原创 2019-08-10 09:32:22 · 150 阅读 · 0 评论 -
java的数据结构与算法(4)单项链表
什么是链表:是以节点的方式存数据,有data域(存放数据),next域(存放下一个数据的指针)最大的特征可以是不连续的使用的场景:后端接受的数据是无序的,需要给前端返回一个有序的数据。package cn.itjy.linkedlist;public class SingleLinkedListDemo { public static void main(String[] args)...原创 2019-07-28 23:49:41 · 100 阅读 · 0 评论 -
java的数据结构与算法(3)环形队列
这次对上次的代码进行了一次改进package cn.itjy.queue;import java.util.Scanner;public class CircleArrayQueue { public static void main(String[] args) {// test System.out.println("测试数组模拟环形队列"); CircleArray ...原创 2019-07-28 23:44:55 · 151 阅读 · 0 评论 -
java的数据结构与算法(2)数组队列
这个场景主要在银行排队,或取号,用的较多package cn.itjy.queue;import java.util.Scanner;import javax.print.attribute.ResolutionSyntax;import javax.xml.namespace.QName;public class ArrayQuueueDemo { public static ...原创 2019-07-28 23:43:31 · 132 阅读 · 0 评论 -
java的数据结构与算法(17)八皇后问题
**前言:**八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。思路:代码部分:pack...原创 2019-08-03 22:15:30 · 130 阅读 · 0 评论 -
java的数据结构与算法(13)逆波兰表达式
问题:上次我们的计算器已经可以实现多位数的一个运算,这次我们准备添加了小括号思路:代码部分:package cn.itjy.Stack;import java.util.ArrayList;import java.util.List;import java.util.Stack;/** * 逆波兰计算器(后缀表达式计算器) * @author dell * */pu...原创 2019-08-01 15:35:34 · 150 阅读 · 0 评论 -
java的数据结构与算法(18)冒泡排序
代码部分接下来我们直接上代码package cn.itjy.sort;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;import java.util.Random;public class BubbleSort { public static void main(S...原创 2019-08-05 18:34:36 · 277 阅读 · 0 评论 -
java的数据结构与算法(19)冒泡排序的优化
前言:我们用大量的数据测试了冒泡排序,发现该算法的执行效率十分低下思路:我们用一个变量判断它元素的位置是否变化,有变化执行,无变化不执行。package cn.itjy.sort;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;import java.util.Random...原创 2019-08-05 18:40:56 · 103 阅读 · 0 评论 -
java的数据结构与算法(20)选择排序
前言:选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一-元素,再依规定交换位置后达到排序的目的。思想:选择排序(select sorting)也是一种简 单的排序方法。它的基本思想是:第- -次从arr[0]arr[n-1]中选取最小值,与ar[0]交换,第二次从ar[1]ar[n-1]中选取最小值,与arr[1]交换,第三次从ar[2]ar[n-1]中选取最小值,与ar...原创 2019-08-05 18:58:51 · 149 阅读 · 0 评论 -
java的数据结构与算法(23)快速排序
快速排序:是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一个的所有数据都要小,然后再按此对这两部分分别进行快速排序,整个排序过程可以递归进行。思路图:代码块:package cn.itjy.sort;import java.text.SimpleDateFormat;import java.util.Arrays;...原创 2019-08-08 11:08:56 · 109 阅读 · 0 评论 -
java的数据结构与算法(21)插入排序
插入排序:是一种内部排序法,是对欲排序的元素以插入的方式寻找该元素的适当位置,以达到排序的目的。思想:会把所有元素看成一个有序表,和无序表把第一个元素放在有序表,其余元素放在无序列表中。拿出无序表中的元素和有有序表中的元素比较,让其放在对应的位置。后面以此类推。插入排序思路:代码块:package cn.itjy.sort;import java.text.SimpleDate...原创 2019-08-05 23:14:55 · 127 阅读 · 0 评论 -
java的数据结构与算法(24)归并排序
归并排序:采用经典的分治策略 分是将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的答案修补在一起,即分而治之。思想:代码块:package cn.itjy.sort;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;import java.util.Ra...原创 2019-08-08 11:20:36 · 106 阅读 · 0 评论 -
java的数据结构与算法(22)希尔排序
希尔排序:希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。理解:希尔排序是对插入的排序的一种优化。思想:把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量的减少,每组包含的关键词越来越多,当增量减少至一时,算法便终止。...原创 2019-08-06 14:09:16 · 143 阅读 · 0 评论 -
java的数据结构与算法(12)使用栈来实现综合计算器(2)解决上次的问题
问题:只能进行一位数的运算,多位数会出现错误解决问题的思路:1.当处理多位数时,不能发现是一个数就立即入栈,因为它可能是多位数2.在处理数栈时,需要向exporession的表达式的index后再看一位,如果是数就就继续进行扫描,如果是符号就入符号栈3.因此我我们需要定义一个变量 字符串变量,用于拼接代码部分:package cn.itjy.Stack;public class C...原创 2019-07-31 23:12:44 · 151 阅读 · 0 评论 -
java的数据结构与算法(11)使用栈来实现综合计算器
需求:大致思路分析:这个表达式过去复杂换一个简单的来进行测试开始代码部分:package cn.itjy.Stack;public class Cslculator { public static void main(String[] args) { // 根据前面思路,完成表达式的运算 String expression = "7+2*6-4"; // 创建两个栈...原创 2019-07-31 23:06:23 · 391 阅读 · 0 评论 -
java的数据结构与算法(1)稀疏数组
选择这个算法是出于下面这些理由:首先,它是一种非常实用并且非常有名的算法,是读者应该掌握的;其次,它是一种非常合适的“热身”算法,可以为以后学习更复杂的算法打下良好的基础;package cn.itjy.sparsearray;/** * 稀疏数组 * * @author dell * */public class SparseArray { public static v...原创 2019-07-28 23:39:23 · 453 阅读 · 0 评论 -
java的数据结构与算法(16)递归之迷宫问题
前言:先给大家简单说一下递归这个东西递归:程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句...原创 2019-08-03 22:05:44 · 330 阅读 · 0 评论