自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小志的博客

随笔笔记仅供参考

  • 博客(25)
  • 资源 (14)
  • 收藏
  • 关注

原创 java数据结构和算法——二叉树删除节点

一、二叉树删除节点的思路图解二、二叉树删除节点的示例代码1、代码package com.rf.springboot01.dataStructure.tree;/** * @description: 二叉树删除节点示例 * @author: xiaozhi * @create: 2020-08-28 21:07 */public class BinaryTreeDemoThree { public static void main(String[] args) {

2020-08-30 21:08:49 486

原创 java数据结构和算法——二叉树的前序遍历、中序遍历和后序遍历查询指定节点

一、二叉树的前序遍历、中序遍历和后序遍历概念前序遍历: 先输出父节点,再遍历左子树和右子树中序遍历: 先遍历左子树, 再输出父节点,再遍历右子树后序遍历: 先遍历左子树,再遍历右子树, 最后输出父节点小结: 看输出父节点的顺序,就确定是前序遍历,中序遍历还是后序遍历二、二叉树的前序遍历、中序遍历和后序遍历查询指定节点的思路图解三、二叉树的前序遍历、中序遍历、后序遍历查询指定节点的需求请编写前序查找,中序查找和后序查找的方法并分别使用三种查找方式,查找 heroNO = 5 的节点并

2020-08-27 22:54:52 345

原创 java数据结构和算法——二叉树的前序遍历、中序遍历和后序遍历

一、前序遍历、中序遍历和后序遍历概念前序遍历: 先输出父节点,再遍历左子树和右子树中序遍历: 先遍历左子树, 再输出父节点,再遍历右子树后序遍历: 先遍历左子树,再遍历右子树, 最后输出父节点小结: 看输出父节点的顺序,就确定是前序遍历,中序遍历还是后序遍历二、前序遍历、中序遍历和后序遍历的思路图解三、前序遍历、中序遍历和后序遍历的代码示例...

2020-08-27 21:21:50 369

原创 java数据结构和算法——二叉树的介绍

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

2020-08-26 22:32:33 298

原创 java数据结构和算法——哈希表

一、哈希表的基本介绍散列表(Hash table,也叫哈希表)是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。二、哈希表的内存布局三、哈希表的应用实例需求有一个公司,当有新的员工来报道时,要求将该员工的信息加入 (id,性别,年龄,名字,住址…),当输入该员工的id时,要求查找到该员工的 所有信息.要求:1)、不使用数据库,速度越快越好=&g

2020-08-25 22:41:43 246

原创 java数据结构和算法——斐波那契查找算法

一、斐波那契查找算法介绍斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数

2020-08-23 21:14:34 588

原创 java数据结构和算法——插值查找算法

一、插值查找算法介绍插值查找算法类似于二分查找,必须是有序列表,不同的是插值查找每次从自适应mid(即获取数组中间的索引)处开始查找。将二分查找(即折半查找)中的求mid 索引(即获取数组中间的索引)的公式:int mid=(left+right)/2 改成 int mid = low + (high - low) * (key - arr[low]) / (arr[high] - arr[low]) 。代码和二分查找(即折半查找)一模一样,唯独mid的计算方式发生改变。二、插值查找算法优缺

2020-08-18 23:15:11 753

原创 java数据结构和算法——二分查找算法(递归方式实现)

一、二分查找算法的介绍假设表中元素是按升序排列(必须是有序列表),将表中间位置记录的关键字与查找关键字比较如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字则进一步查找前一子表;否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。二、二分查找算法的思路分析三、二分查找算法的示例需求请对一个有序数组进行二分查找 {1,8, 10, 89, 1000, 1234} ,输入一个

2020-08-14 23:02:52 463

原创 java数据结构和算法——线性查找算法

目录一、线性查找算法的介绍二、线性查找算法的应用示例需求三、线性查找算法的应用示例一、线性查找算法的介绍线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。查找是对具有相同属性的数据元素(记录)的集合(数据对象)进行的,称之为表或文件,也称字典。对表的查找,若仅对表进行查找操作,而不能改变表中的数据元素,为静态查找;对表除了进行查找操作外,还可能对表进行插入或删除操

2020-08-13 22:19:48 344

原创 java数据结构和算法——常用排序算法总结和对比

一、常用排序算法对比二、相关术语解释稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面。内排序:所有排序操作都在内存中完成。外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行。时间复杂度: 一个算法执行所耗费的时间。空间复杂度:运行完一个程序所需内存的大小。In-place: 不占用额外内存Out-place: 占用额外内存k: “桶”的个数n: 数据规模.

2020-08-12 23:25:57 257

原创 java数据结构和算法——基数排序算法

一、基数排序(桶排序)介绍基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是1887年赫尔曼·何乐礼发明的。它是这样实现的:将整数按位数切割成不同的数字,然后按每个位数分别比较。二、基数排序基本

2020-08-12 23:14:00 366

原创 java数据结构和算法——归并排序算法

一、归并排序介绍归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。二、归并排序算法的思路分析图三、归并排序算法的应用示例需求arr={8,4,5,7,1,3,6,2},请使用归并排序完成数组的排序。四、...

2020-08-11 23:42:21 321

原创 java数据结构和算法——快速排序算法

一、快速排序算法介绍快速排序(Quicksort)是对冒泡排序的一种改进。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列二、快速排序算法示意图三、快速排序算法的应用实例需求对 [-9,78,0,23,-567,70] 进行从小到大的 排序,要求使用快速排序法。并测试测试100万条数据排序耗时。四、...

2020-08-10 22:19:51 306

原创 java数据结构和算法——希尔排序算法(采用移位法)

目录一、简单插入排序存在的问题二、希尔排序算法的介绍三、希尔排序算法的基本思想四、希尔排序算法的示意图五、希尔排序算法的应用实例需求六、希尔排序算法(采用移位法)的推导过程示例演示七、希尔排序算法(采用移位法)的完整示例演示八、测试希尔排序算法(采用移位法)所消耗的时间示例一、简单插入排序存在的问题简单的插入排序可能存在的问题,例如数组 arr = {2,3,4,5,6,1} 这时需要插入的数 1(最小), 这样的过程是:{2,3,4,5,6,6}{2,3,4,5,5,6}{2,3,4,4,5

2020-08-09 21:05:16 380

原创 java数据结构和算法——希尔排序算法(采用交换法)

一、简单插入排序存在的问题简单的插入排序可能存在的问题,例如数组 arr = {2,3,4,5,6,1} 这时需要插入的数 1(最小), 这样的过程是:{2,3,4,5,6,6}{2,3,4,5,5,6}{2,3,4,4,5,6}{2,3,3,4,5,6}{2,2,3,4,5,6}{1,2,3,4,5,6}结论: 当需要插入的数是较小的数时,后移的次数明显增多,对效率有影响.二、希尔排序算法的介绍希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也

2020-08-08 22:53:18 407

原创 java数据结构和算法——插入排序算法

目录一、插入排序算法的基本介绍二、插入排序算法的思想三、插入排序算法的思路分析图四、插入排序算法的应用示例需求五、插入排序算法推导过程示例演示一、插入排序算法的基本介绍插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。二、插入排序算法的思想把n个待排序的元素看成为一个有序表和一个无序表开始时有序表中只包含一个元素,无序表中包含有n-1个元素排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的

2020-08-08 21:26:36 355

原创 java数据结构和算法——选择排序算法

目录一、选择排序的基本介绍二、选择排序的思想三、选择排序的思路分析图四、选择排序的应用实例一、选择排序的基本介绍选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。二、选择排序的思想选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换第三次从arr[2]~arr[n-

2020-08-05 23:14:42 324

原创 navicat如何导出查询的结果数据

1、lz使用的mysql客户端为Navicat Premium,如下图:2、示例中lz创建了一张historidata表,里面新增了6条数据作为演示,如下图:3、查询出该表的一部分数据,以id>3的为例,共查询出3条符合条件的数据,如下图:4、点击【导出】按钮,在弹出的【导出向导】窗口中勾选需要导出的格式,lz选择了sql脚本文件的格式,点击【下一步】,如下图:5、在弹出的窗口中选择【导出的位置】,在点击【下一步】,如下图:6、在弹出的窗口中继续点击【下一步】,如下图:7、在弹

2020-08-05 21:36:38 29172

原创 java数据结构和算法——冒泡排序算法

一、冒泡排序算法介绍比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。二、冒泡排序算法思路图解三、冒泡排序的演变过程示例1、代码package com.rf.springboot01.dataStructure.sort;import java.util.Arrays;

2020-08-04 09:24:50 424 4

原创 java数据结构和算法——平均时间复杂度、最坏时间复杂度及空间复杂度介绍

一、平均时间复杂度指所有可能的输入实例均以等概率出现的情况下,该算法的运行时间。二、最坏时间复杂度最坏情况下的时间复杂度称最坏时间复杂度。一般讨论的时间复杂度均是最坏情况下的时间复杂度。这样做的原因是:最坏情况下的时间复杂度是算法在任何输入实例上运行时间的界限,这就保证了算法的运行时间不会比最坏情况更长。三、平均时间复杂度和最坏时间复杂度是否一致,和算法有关,如下图四、空间复杂度类似于时间复杂度的讨论,一个算法的空间复杂度(Space Complexity)定义为该算法所耗费的存储

2020-08-03 21:38:52 1905

原创 java数据结构和算法——时间复杂度介绍

目录一、时间复杂度介绍二、时间复杂度的计算方法三、常见的时间复杂度四、常见的时间复杂度对应的曲线图五、常数阶 O(1) 的介绍六、对数阶 O(log2n) 的介绍七、线性阶 O(n) 的介绍八、线性对数阶 O(nlogN) 的介绍九、平方阶 O(n²) 的介绍十、立方阶 O(n³) 、K次方阶 O(n^k) 的介绍一、时间复杂度介绍一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零

2020-08-03 20:54:53 1210

原创 java数据结构和算法——时间频度介绍和特点

一、时间频度基本介绍时间频度:一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。二、时间频度特点1、举例说明-忽略常数项示例如下图结论1)、2n+20 和 2n 随着n 变大,执行曲线无限接近, 20可以忽略2)、3n+10 和 3n 随着n 变大,执行曲线无限接近, 10可以忽略2、举例说明-忽略低次项示例如下图结论1)、 2n^2+3n+10 和 2n^2 随

2020-08-02 22:51:24 699

原创 java数据结构和算法——排序算法的介绍及分类

一、排序算法的介绍排序也称排序算法 (Sort Algorithm),排序是将一 组数据,依指定的顺序进行排列 的过程。二、排序算法的分类:1、内部排序指将需要处理的所有数据都加载 到内部存储器中进行排序。2、外部排序数据量过大,无法全部加载到内 存中,需要借助外部存储进行排序。三、常见的排序算法分类四、算法的时间复杂度度量一个程序(算法)执行时间的两种方法事后统计的方法 这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序;二是

2020-08-02 22:17:34 215

原创 java数据结构和算法——八皇后问题分析与代码示例

一、八皇后问题介绍二、八皇后问题思路分析三、八皇后问题代码示例1、代码package com.rf.springboot01.dataStructure.recursion;/** * @description: 使用递归实现八皇后问题 * @author: xiaozhi * @create: 2020-08-02 21:13 */public class LabyrinthTest { int max =8;//定义一个max表示一共有多少个皇后 int[] a

2020-08-02 21:35:16 390

原创 java数据结构和算法——递归实现迷宫回溯问题的应用示例

一、迷宫回溯示例要求:定义一个8行7列的迷宫地图,得到小球从起始位置到结束位置的路径需求示意图如下二、使用递归回溯来给小球找路,按照 下->右->上->左 的策略(方法)的示例1、按照 下->右->上->左 的策略,小球行走的路径示意图如下:2、按照 下->右->上->左 的策略,示例代码package com.rf.springboot01.dataStructure.recursion;/** * @description:

2020-08-01 22:24:05 539

ojdbc(6、8、14版本jar)

ojdbc(6、8、14版本jar)

2020-12-24

docker+k8s.txt

一份很不错的学习k8s的视频,包括docker一部分和k8s一部分,希望有需要的人能够下载下来一份很不错的学习k8s的视频,包括docker一部分和k8s一部分,希望有需要的人能够下载下来

2019-06-19

科大讯飞语音识别java版本demo

调用科大讯飞SDK包,语音识别java版本代码示例。示例包括语音听写、语音识别、语音组合三个功能,本人只用到语音听写(即把语音转成文字)

2019-04-25

科大讯飞Msc.jar

科大讯飞SDK包中的msc.jar包,msc 语音功能 需要该jar包的引用。科大讯飞Msc.jar

2019-04-11

apache-tomcat-7.0.57.tar.gz

java开发技术所需的 tomcat7版本的apache-tomcat-7.0.57.tar.gz包

2017-10-19

zookeeper-3.4.6.tar.gz

java技术所需的 zookeeper-3.4.6版本的注册中心tar包 。

2017-10-19

dubbo-admin-2.5.3.war

dubbo-admin-2.5.3.war ,dubbo管理控制台所需的dubbo-admin-2.5.3.war

2017-10-19

kindeditor编辑器

kindeditor编辑器

2016-12-26

ueditor编辑器

ueditor编辑器

2016-12-26

redis-3.2.4.tar

redis数据库安装包

2016-12-22

微信小程序开发工具

小程序开发工具

2016-12-22

微信小程序 实例汇总 完整项目源代码

微信小程序 实例汇总 完整项目源代码

2016-12-21

RSS订阅例子

RSS订阅

2016-11-25

轮播图代码

轮播图代码

2016-11-25

空空如也

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

TA关注的人

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