自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 数据结构 | 图 | prim算法

prim基本思想普里姆方法的基本思想是:在图中任取一个顶点K作为开始点,令U={k},W=V-U,其中V为图中所有顶点集,然后找一个顶点在U中,另一个顶点在W中的边中最短的一条,找到后,将该边作为最小生成树的树边保存起来,并将该边顶点全部加入U集合中,并从W中删去这些顶点,然后重新调整U中顶点到W中顶点的距离, 使之保持最小,再重复此过程,直到W为空集止。代码如下:public class PrimeTest { ////图,可以这样认为:图的任意两个顶点之间都有边,两顶点无法到达的,可以认为他们之

2020-09-08 20:35:57 401

原创 数据结构 | 图的深度与广度遍历

比较简单就不过多解释 直接看代码吧DFS遍历public class Graph{ static int graph[][]= {{0,1, 1,0,1,0,0,0}, {1,0,0,1,0,0,0,0}, {1,0,0,1,1,0,0,0}, {0,1,1,0,0,0,0,0}, {1,0,1,0,0,0,0,0}, {0,0,0,0,0,0,1,1}, {0,0,0,0,0,

2020-09-08 20:32:58 216

原创 笔记 | HTTP协议

什么是HTTP协议:简单的说,HTTP协议就是用于规范客户端浏览器和服务器端以什么样的格式进行通信数据交互,作为应用层的面向对象的协议,HTTP由请求和响应构成,是一个标准的客户端服务器模型,也是一个无状态的协议。客户端与服务端交互的基本过程: http协议的特点:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通

2020-07-26 14:29:55 187

原创 笔记 | 链表

链表建链表有头插法,尾插法两种:头插法:public void setLinkedByHead(Scanner reader) { Node head=null; int m=reader.nextInt(); while(m>0) { Node p=new Node(m); p.next=head; head=p; m=reader.nextInt(); } this.next=head; }尾插法:public void setLin

2020-07-22 15:38:43 204

原创 Java---JDBC数据库连接

如何建表首先,我们要想连接到数据库我们已经创建好的表中。比如我们创建了一个表,那么为了获取表中的信息,就得写一个PO类与之对应(当然这个有点鸡肋,但是后面可以对这一方面做更改,更自由)。讲到这就牵扯到如何建表和创建PO类了,我们要遵循两个原则:1.类名即表明,2.属性名即为字段名。要与之一一对应。如何获取连接:想要正确连接数据库,我们必须知道我们建立这个数据库用户名user,密码root,它对应的url,以及它的驱动driver。接下来步入正题:...

2020-07-21 16:01:35 141

原创 关系型数据库基本知识点整理

关系型数据库1.码=能够唯一标识一组元组的属性集2.主键:能够唯一标识一组元组的属性集主键是从候选键中选择一个作为主键。3.候选码,能够唯一标识一组元组的属性集候选码的任一真子集都不能唯一标识一组元组。主属性:候选码里的属性的并集非主属性:除了主属性的属性。这一幅图来自https://blog.csdn.net/sumaliqinghua/article/details/85872446关系型数据库的范式第一范式:每个属性都不可再分,原子性第二范式:在第一范式的基础上,非主属性都与主

2020-07-17 19:57:13 922

原创 关于二叉树的一些问题

二叉树的前序,中序,后序遍历,广度遍历。二叉树求深度,求叶子节点个数,判断是否为完全二叉树tips:关于二叉树的绝大多数问题都可以用递归方法来实现,DFS。一位二叉树根节点去掉之后又分为两个子树,对于子树本身也可以看左二叉树来处理。所以递归可以说很好用了二叉树的建立:public class BitTree { int data; BitTree lchild; BitTree rchild; public BitTree() { } public BitTree(int

2020-07-16 10:31:25 266

原创 不同的二叉搜索树---卡特兰数

//不同的二叉搜索树package leetcode;public class App { public static void main(String[] args) { // TODO Auto-generated method stub int n=makeTree(3); System.out.println(n); } public static int makeTree(int n) { int G[]=new int[n+1]

2020-07-15 21:30:33 95

原创 leetcode 之两数相加 算法--链表

/* * 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) * 输出:7 -> 0 -> 8 * 原因:342 + 465 = 807 */package leetcode;import java.util.Scanner;import NodeTest.Node;public class APP1 { public static void main(String[] args) { // TODO Auto-generate

2020-07-15 21:29:44 119

原创 哈希表创建以及哈希表迭代hasNext()与next()方法理解

认识哈希表:哈希表既是一种查找方法,又是一种存贮方法。我们通常再查找过程中希望能够不经过任何比较,一次便能得到所查记录。不过这是理想状态下。哈希表:即散列存储结构。散列法存储的基本思想:建立关键码字与其存储位置的对应关系,或者说,由关键码的值决定数据的存储地址。优点:查找速度极快(O(1)),查找效率与元素个数n无关!例1:若将学生信息按如下方式存入计算机,如:将2001011810201的所有信息存入V[01]单元;将2001011810202的所有信息存入V[02]单元;……将2001

2020-07-15 20:38:03 1446

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

直接插入排序话不多说,上代码:public static void directSort(int[] data) { if(data==null) return; for(int i=1;i<data.length;i++)//遍历1到末尾的数 { int t=data[i],j; for(j=0;j<i;j++)//与前面已经排序好的数组进行比较,当前面的数组中有一个数大于待排的数,退出循环,记录J的位置。 if(data[j]>t) break;

2020-07-15 09:29:00 83

原创 java排序算法之归并排序

归并——将两个或两个以上的有序表组合成一个新的有序表,叫~2-路归并排序排序过程设初始序列含有n个记录,则可看成n个有序的子序列,每个子序列长度为1两两合并,得到【n/2】个长度为2或1的有序子序列再两两合并,……如此重复,直至得到一个长度为n的有序序列为止public static void mergeOne(int data[],int left,int mid,int right) { if(data[mid]<=data[mid+1]) return; for(int i

2020-07-14 20:59:59 127

原创 Java快速排序算法

快速排序1.交换法:话不多说,直接上代码:public static int quickSortOne(int data[],int left,int right) { int pre=left;//定义一个标记指向left int key=data[left];//把data[left]的值取出来 for(int i=left+1;i<data.length;i++)//遍历接下来的数组中的数据 { if(data[i]<key) { data[pre

2020-07-14 19:23:27 112

原创 Java排序算法之堆排序

堆排序:将无序序列建成一个堆,得到关键字最小(或最大)的记录;输出堆顶的最小(大)值后,使剩余的n-1个元素重又建成一个堆,则可得到n个元素的次小值;重复执行,得到一个有序序列,这个过程叫~堆排序需解决的两个问题:如何由一个无序序列建成一个堆?如何在输出堆顶元素之后,调整剩余元素,使之成为一个新的堆?第二个问题解决方法——筛选方法:输出堆顶元素之后,以堆中最后一个元素替代之;然后将根结点值与左、右子树的根结点值进行比较,并与其中小者进行交换;重复上述操作,直至叶子结点,将得到新的堆,称这个从堆顶至

2020-07-14 19:00:28 390

原创 折半插入法

折半插入法public static int zheBanLocation(int data[],int left,int right)//这是查找插入位置 { int key=data[right+1]; while(left<=right) { int mid=(right+left)/2; if(data[mid]==key) return mid; if(data[mid]>key) right=mid-1;

2020-07-14 14:39:58 587

原创 业务分析题-求Max左-Max右的绝对值最大

业务分析题-求Max左-Max右的绝对值最大题目要求:输入一个数组,数组长度大于等于2,将该数组随机的一分为二,分成左数组右数组,求左数组-右数组的绝对值的最大值。分析:我们可以先遍历一次数组a,找出这个数组的最大值Max,然后假定数组被划分在左数组,那么这样划分的所得最大绝对值一定是Max-a[a.length-1];同理最大值划分在右边也是如此。这题主要考察我们业务分析能力。package Test3;public class App2 { public static void mai

2020-07-14 10:00:17 282

原创 牛客面试-车站建造问题

题目要求牛客面试-车站建造问题有108个村庄排在一条公路上,依次编号为0~108-1,相邻村庄距离为1,其中有n个村庄居住着牛牛,居住着牛牛的村庄从小到大依次为a0~an-1,其中保证a0=0.现在需要建设车站,有两个要求必须被满足:1、每个有牛牛居住的村庄必须修建车站。2、相邻车站的距离必须为1或为某个质数。现给出n和a数组,求需要建设车站的最小数量解题分析:哥德巴赫猜想1.大于2的偶数可以分成两个质数相加;2.任一大于7的奇数都可写成三个质数之和。:当该奇数为非质数时,分解为p=(p

2020-07-14 09:46:57 195

空空如也

空空如也

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

TA关注的人

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