HttpUtils工具类

HttpUtils工具类HttpUtils工具类进行url链接转发package com.mmit.common; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import...

Java 2020-02-13 PM 2224℃ 0条

获取IP工具类

获取IP工具类通过IpAddressUtil工具类来获取IP地址package com.mmit.modules.user.Util; import java.math.BigInteger; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.*; import javax.servlet.http.HttpServletRequest; import org.apache.commons.validator.routines.InetAddressValidat...

Java 2020-02-13 PM 2197℃ 0条

数据结构和算法学习--线索二叉树

数据结构和算法学习--线索二叉树一、线索二叉树应用案例应用案例说明:将下面的二叉树,进行中序线索二叉树,中序遍历的数列为}{8,3,10,1,14,6}思路分析:中序遍历的结果:{8,3,10,1,14,6}说明:当线索化二叉树后,Node节点的属性left和right,有如下情况:(1)left:指向的是左子树,也可能是指向的前驱节点。比如①节点left指向的左子树,而⑩节点的left指向的就是前驱节点。(2)right指向的是右子树,也可能是指向后继结点,比如①节点right指向的是右子树,而⑩节点的right指向的是后继节点。代码实现public class ThreadedBin...

Java 2020-02-12 PM 1496℃ 0条

数据结构和算法学习--顺序存储二叉树

数据结构和算法学习--顺序存储二叉树一、基本说明从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看下面的示意图。要求:(1)上图的二叉树的结点,要求以数组的方式来存放arr:[1,2,3,4,5,6](2)要求在遍历数组arr时,仍然可以以前序遍历,中序遍历和后序遍历的方式完成结点的遍历顺序存储二叉树的特点:(1)顺序二叉树通常只考虑完全二叉树(2)第n个元素的左子结点为2*n+1(3)第n个元素的右子节点为2*n+2(4)第n个元素的父节点为(n-1)/2(5)n:表示二叉树中的第几个元素(按0开始编号如图所示)二、顺序存储二叉树遍历需求...

Java 2020-02-11 PM 1849℃ 0条

数据结构和算法学习--二叉树查找指定节点

数据结构和算法学习--二叉树查找指定节点要求:(1)请编写前序查找,中序查找和后序查找的方法。(2)并分别使用三种查找方式,查找heroNO=5的节点(3)并分析各种查找方式,分别比较了多少次(4)思路分析图解使用前序,中序,后序的方式来查找指定的结点前序查找思路1.先判断当前结点的no是否等于要查找的2.如果是相等,则返回当前结点3.如果不等,则判断当前结点的左子节点是否为空,如果不为空,则递归前序查找4.如果左递归前序查找,找到结点,则返回,否则继续判断,当前的结点的右子节点是否为空,如果不空,则继续向右递归前序查找。中序查找思路1.判断当前结点的左子结点是否为空,如果不为空,则递归...

Java 2020-02-10 PM 1721℃ 0条

数据结构和算法学习--二叉树删除节点

数据结构和算法学习--二叉树删除节点要求(1)如果删除的节点是叶子节点,则删除该节点(2)如果删除的节点是非叶子节点,则删除该子树(3)测试,删除掉5号叶子节点和3号子树(4)完全删除思路分析完成删除节点的操作(1)如果删除的节点是叶子节点,则删除该节点(2)如果删除的节点是非叶子节点,则删除该子树思路首先先处理:考虑如果树是空树root,如果只有一个root节点,则等价将二叉树置空//然后进行下面步骤1.因为我们的二叉树的是单向的,所以我们是判断当前结点的子节点需要删除结点,而不能去判断当前这个结点是不是需要删除结点。2.如果当前结点的左子结点不为空,并且左子结点就是删除结点,就将th...

Java 2020-02-09 PM 1581℃ 0条

数据结构和算法学习--二叉树遍历应用实例(前序,中序,后序)

数据结构和算法学习--二叉树遍历应用实例(前序,中序,后序)应用实例和说明和思路分析二叉树的前序,中序,后续的遍历步骤1.创建一颗二叉树2.前序遍历2.1 先输出当前节点(初始的时候是root节点)2.2 如果左子节点不为空,则递归继续前序遍历2.3 如果右子节点不为空,则递归继续前序遍历3.中序遍历3.1 如果当前节点的左子节点不为空,则递归中序遍历3.2 输出当前节点3.3 如果当前节点的右子节点不为空,则递归中序遍历4.后序遍历4.1 如果当前节点的左子节点不为空 ,则递归后序遍历4.2 如果当前节点的右子节点不为空,则递归后序遍历4.3 输出当前节点代码实现public clas...

Java 2020-02-08 PM 1971℃ 0条

数据结构和算法学习--树结构的基础部分

数据结构和算法学习--树结构的基础部分一、二叉树1.1 为什么需要树这种数据结构(1)数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低画出操作示意图:(2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可,删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从节点开始遍历)操作示意图:(3)树存储方式的分析能提高数据存储,读取的效率,比如利用二叉排序树(Binary Sort T...

Java 2020-02-08 PM 1899℃ 0条

数据结构和算法学习--哈希表

数据结构和算法学习--哈希表一、哈希表(散列)(1)看一个实际需求,google公司的一个上机题:(2)有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址...),当输入该员工的id时,要求查找到该员工的所有信息。(3)要求:不使用数据库,尽量节省内存,速度越快越好=>哈希表(散列)二、哈希表的基本介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。三、Google公司的...

Java 2020-02-07 PM 1424℃ 0条

数据结构和算法学习--菲波那切(黄金分割法)查找算法

数据结构和算法学习--菲波那切(黄金分割法)查找算法一、基本介绍(1)黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇的数字,会带来意向不到的效果。(2)菲波那切数列{1,1,2,3,5,8,13,21,34,55}发现斐波那契数列的两个相邻数的比例,无限接近黄金分割值0.618二、菲波那切(黄金分割法)原理菲波那切查找原理与前两种相似,仅仅改变了中间结点(mid)的位置,mid不再是中间或插值得到,而是位于黄金分割点附近,即mid=low...

Java 2020-02-06 PM 1790℃ 0条