自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

二叉树的博客

只要没死,就别把自己当废物

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 电影售票系统

基于SpringBoot ,Mybatis, Vue 的电影售票及影院管理系统(前后端分离),具体功能见下面演示截图。

2022-11-19 23:36:26 982 1

原创 Navicat导入SQL文件

软件下载地址 https://wwz.lanzoub.com/i3T9S0gbq2wd参考链接接 https://www.cnblogs.com/hhaostudy/p/15898030.html。

2022-11-19 19:50:28 349

原创 Java 8流(Stream)操作

先新建一个学生类:class Student { String name; Integer age; public Student(String name, Integer age) { this.name = name; this.age = age; } public String getName() { ...

2019-11-04 16:55:34 278 1

原创 Spring-jdbc中in查询

最开始写的大概是这样的,查询出来的结果是不正确的,不清楚为啥public List> getStudentsByIds(List ids) { StringBuilder sql = new StringBuilder("select * from student where id in ( ? ) "); List args = new ArrayList<&...

2019-08-23 11:23:45 526

原创 单线程下StringBuffer与StringBuilder有区别吗

每当面试官问StringBuffer与StringBuilder的区别时,我们都会说StringBuffer是是线程安全的,因为StringBuffer的大部分方法都被synchronized修饰,StringBuilder是线程不安全的。StringBuilder效率更高,单线程下用StringBuilder,多线程下用StringBuffer。但是面试官下个问题问“单线程下Strin...

2019-03-28 16:16:23 3302

原创 二叉树的各种遍历方法总结

目录深度优先遍历(递归非递归) 前序遍历二叉树 中序遍历二叉树 后序遍历 广度优先遍历 层次遍历 前序遍历二叉树前,中,后序遍历都是以根节点为参考,前序遍历就是先根节点再左右子树先访问根节点,再访问左子树,再访问右子树前序遍历结果为F, B, A, D, C, E, G, I, H递归法// 二叉树的存储结构public class Tre...

2019-03-27 17:08:32 588

原创 正则表达式匹配大括号(Java)

public static void main(String[] args) { String regex = "\\{([^}])*\\}"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("ab{gnfnm}ah{hell}o"); while (matcher.find...

2019-03-05 17:17:55 17622

原创 TCP三次握手和四次挥手

TCP三次握手和四次挥手三次握手三次握手示意图三次挥手过程三次握手常见面试题四次挥手三次握手TCP是面向连接的协议。TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段。三次握手示意图三次挥手过程如上图,主机A是客户端,B是服务器,起初两端的TCP进程都处于CLOSE(关闭)状态。主机下面的方框代表TCP进程所处的状态。首先是A向服务器B发出请求连接报文段,...

2019-01-08 14:11:24 160

原创 图的深度优先搜索

【算法描述】从图中s点出发,并将这个点标记为已访问找到s的一个相邻点v,将这个点v标记为已访问找v的相邻点w,如果w存在且未被标记,就将w标记为已访问,如果w点不存在,就返回v点,再找v的另一相邻点直到图中所有点都被标记为已访问为止对于这样上图,我们可以采用邻接矩阵来表示,构建一个5x5的矩阵跟顶点0相邻的顶点有2,3,4,所以在矩阵中[0,2],[0,3],[0,4]都用T标记【算法实现】pub...

2018-07-09 15:03:37 160

原创 Spring data jpa常用注解

@Entity ----表示这个JavaBean是一个jpa实体)@Table(name="person") ---- 定义表的名称是person,若不加这个注解则表的名称与这个类同名@Id ----定义主键@GenerateValue(strategy=GenerationType.AUTO) ...

2018-06-20 11:26:15 241

转载 数据库系统概论第五版习题解析

数据库系统概论前七章习题解析第1章&nbsp;绪论1&nbsp;.试述数据、数据库、数据库系统、数据库管理系统的概念。&nbsp;答:&nbsp;&nbsp;(&nbsp;l&nbsp;)数据(&nbsp;Data&nbsp;)&nbsp;:描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计...

2018-04-22 15:39:04 3989 2

原创 MySql笔记

select语句-- 使用逗号和空格将last_name和job_id连接起来SELECT CONCAT_WS(', ',last_name,job_id) JObFROM employees-- CONCAT_WS(separator,str1,str2,...) -- 是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以...

2018-04-21 12:00:26 775

原创 归并排序

【算法描述】假设初始序列有n个元素,先把这n个元素看成是n个长度为1的有序子序列然后将这n个序列两两归并,得到[n/2]个长度为2的有序子序列(n为奇数时,最后一个序列大小为1)再将长度为2的序列两两归并,得到若干长度为4的有序子序列,如此重复,直到子序列长度为n归并算法基于合并,即将两个有序的数组合并成一个更大的有序数组【算法实现】public class Sort { static int[...

2018-04-19 21:18:29 204

原创 希尔排序

【算法描述】  希尔排序是基于直接插入排序的算法。直接插入排序是交换相邻的元素,如果最小元素正好在数组的最后,那么将它移到正确位置需要n-1次移动,希尔排序则是交换不相邻的元素,这样就可以减少移动次数首先将序列中所有相距为h1的元素分成一组,进行直接插入排序然后将相距为h2(h2&lt;h1)的元素分为一组进行插入排序重复进行步骤二,直到h=1这个距离h的选取是会影响排序的移动次数的,但是现在并不...

2018-04-12 09:17:31 125

原创 直接插入排序

【算法描述】     直接插入排序是一种最基本的插入排序方法。其实就是将第i个元素插入到前面i-1个已经排好序的元素中。这个可以类比我们打扑克牌时整理牌的过程,都是将每一张牌插入到其他已经有序的牌中适当位置      当前索引左边的所有元素都是有序的,但是它们的最终位置还不确定,为了给更小的元素腾出空间,它们会被移动。但是当索引到达数组的右端时,数组排序就完成了【算法实现】public class...

2018-04-08 21:25:53 238

原创 快速排序

【算法描述】从待排序的序列中选取一个元素(通常选第一个)记为temp,小于temp的元素把它移到K的前面,大于temp的元素移到K的后边K把这个序列分割成了两部分,然后分别再对这两个序列进行同步骤一的操作重复步骤二,直到子序列长度不大于1,这时整个序列便是有序的了【算法实现】public class Sort { public static int quickSort(int[] r, int...

2018-04-07 20:48:21 124

原创 堆排序

  堆:堆是一棵完全二叉树,某个节点的值总是不大于(称为大根堆)或不小于其父节点(称为小根堆)的值。【算法描述】将待排序的n个元素按照堆的定义建初堆,并移除堆顶元素调整剩余的元素序列(也就是去掉了堆顶元素的序列),将这n-1个元素重新建成一个新堆,再移除堆顶元素重复执行步骤二,进行n-1次筛选,新筛选的堆会越来越小,最后所有的堆顶元素都会被移除,被移除的堆顶元素就是一个有序序列        这个...

2018-04-06 21:13:27 369

原创 树形选择排序

【算法描述】 树形选择排序也叫锦标赛排序,我们可以类比比赛过程。有n个待排序的元素,把它们两两一组进行比较,取出较小的,然后在这n/2个较小者中再两两一组进行比较,取出较小的,重复上述步骤,直到取出最小元素。 这个过程用一棵满二叉树表示,在选出最小关元素后,将这个元素对应的叶子节点的值置为∞,然后把不为∞的兄弟节点移到父节点的位置。一直重复这个过程就可以了 【算法实现...

2018-04-05 00:10:44 7199 1

原创 纸牌三角形

A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。下图就是一种排法(如有对齐问题,参看p1.png)。      A     9 6    4   8   3 7 5 2这样的排法可能会有很多。如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?请你计算并提交该数字。public class Solution { static int[]...

2018-03-29 20:05:29 215

原创 算法时间复杂度和空间复杂度

1.时间复杂度(1)语句频度      是指该语句在一个算法中重复执行的次数。一个算法的时间耗费就是该算法中所有语句频度之和,用f(n)表示。(2)时间复杂度       对于算法分析,关心的是算法中语句总的执行次数f(n)是问题规模n的函数, 进而分析f(n)随n的变化情况并确定T(n)的数量级。用“O”(起初是希腊字母,后多为英语字母)表示数量级,算法的时间复杂度T(n)=O(f(n))是该算...

2018-03-29 19:42:39 2916

原创 冒泡排序及优化

冒泡排序(相邻比序法):对相邻元素进行交换,把值大的元素交换到右边(降序则交换到左边)【算法描述】           假设有一个长度为n的数组:从第一个元素开始,比较前后相邻的二个元素,如果前面元素...

2018-03-29 19:21:42 110

原创 找直角三角形个数

勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。  已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。  求满足这个条件的不同直角三角形的个数。【数据格式】输入一个整数 n (0&lt;n&lt;10000000) 表示直角三角形斜边的长度。要求输出一个整数,表示满足条件的直角三角形个数。例如,输入:5程序应该输出:1再例如,输入:100程序应该输出:2再例如...

2018-02-23 16:46:49 3601

原创 7对数字排成一排

今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:17126425374635当然,如果把它倒过来,也是符合要求的。请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。public class LanQiaoBei { static int[] a =...

2018-02-23 15:58:58 448

原创 X的X次幂等于10

如果x的x次幂结果为10,你能计算出x的近似值吗?显然,这个值是介于2和3之间的一个数字。请把x的值计算到小数后6位(四舍五入),并填写这个小数值。 xx=10,则lgxx=lg10,所以lgx=1/xxx=10,则lgxx=lg10,所以lgx=1/xx^x=10,则lg x^x=lg10,所以lgx=1/x,这里采用暴力方法public class A { p...

2018-02-22 15:45:49 2393

原创 调和级数

1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。但是,它发散的很慢:前1项和达到 1.0前4项和才超过 2.0前83项的和才超过 5.0那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?public class A { double fun(float n) { double i...

2018-02-22 14:24:06 188

原创 正则表达式

如下代码用来检验一个四则运算式中数据项的数目,请填写划线部分缺少的代码。注意:只填写缺少代码,不要写任何多余内容,例如,已有的双引号。public class A{    public static int f(String s)    {        return s.split("________________").length;    }        public static voi...

2018-02-22 13:17:28 168

转载 SSM 框架 Maven项目整合实例

<div class="markdown_views"> <hr> 我是根据这篇博客自己学习这个实例的:AndyLizh的专栏 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 上面的这篇博客里有怎么搭建 Maven 环境,根据数据表自动生成 Mybatis 的Dao层,Service层,Maping xml文件等教程。

2017-12-07 20:37:45 570

原创 正则表达式

干货。。。。特别好的正则表达式总结正则表达式30分钟入门教程

2017-12-03 17:04:22 335

原创 LintCode-(3)统计数字

计算数字k在0到n中的出现的次数,k可能是0~9的一个值样例 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)public class Solution {//暴力方法:对n一直整除10,把商和余数分别与k比较 public int digitCounts(int k, i

2017-11-26 17:23:19 356

原创 LintCode-(2)尾部的零

LintCode-(2)尾部的零

2017-11-13 19:59:58 162

原创 LintCode-(1)A + B 问题

给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。注意事项你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返回就行。样例如果 a=1 并且 b=2,返回3public class Solution { /* * @param : An integer * @param : An inte

2017-11-13 13:03:19 171

原创 LintCode-(632)二叉树的最大节点

在二叉树中寻找值最大的节点并返回。样例给出如下一棵二叉树: 1 / \ -5 2 / \ / \0 3 -4 -5 返回值为 3 的节点。/** * Definition of TreeNode: * public class TreeNode { * public int val;

2017-11-11 15:49:11 267

pyhton 直方图 直方图均衡化

用pyhton画三通道图像的直方图,实现直方图均衡化

2019-05-05

空空如也

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

TA关注的人

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