Java笔记
0x208@mother
逆水行舟,不进则退
展开
-
Java左倾红黑树的完整实现
左红黑树准备知识一、定义:1.红链接均为左连接2.没有任何一个节点同时和两条红链接相连3.该树是完美黑色平衡的,即任意空连接到根结点的路径上的黑链接数量相等。二、颜色表示:示例代码中说一个节点是红色的,指的是指向该链接的颜色是红色的。代码说明实现类让参数K继承了Comparable接口,主要原因是红黑树要维持树的平衡就要依赖于两个键的大小关系,而Comparable接口中的comp...原创 2020-02-13 21:08:16 · 336 阅读 · 0 评论 -
Java详解(图解)非递归的归并排序(自底向上)
前言递归实现的归并排序是算法设计中分治思想的典型应用,代码实现也十分的简单易懂。递归的归并排序实际上是一种自顶向下的归并排序。而本文要讲解的非递归版本则是一种自底向上归并版本思路和递归版的先分再治不同,实现的非递归的我们直接治就行了。首先我们把数组中的每个元素看成是长度为一的数组,然后进行两两归并,这样就可以得到一个从0处索引开始每相邻两个元素都有序的数组(注意并不是任意相邻)。然后我们进行...原创 2020-02-07 02:09:15 · 414 阅读 · 0 评论 -
Java排序常用6种算法合集(附实现代码)
序言排序是编程中经常要碰到的一类问题,有时候在硬件水平有限的情况下,一个简短高效的排序算法能够是程序的运行速度提升一个档次,因此该博客汇总了经常用到而且有效的排序算法,并给出基于Java语言的实现代码。代码说明由于本次实现的排序算法大部分基于先比较然后交换的方法,因此为了避免编写重复的代码,我们先将通用的方法代码写到一个抽象类中作为排序类的模板,并用protected修饰,然后每一个具体的排...原创 2020-01-31 20:17:50 · 228 阅读 · 0 评论 -
一文秒懂Java(jdk11) native关键字的使用
关于Java native关键字顾名思义被native修饰的方法是一个本地方法,简单的讲,一个被native修饰的方法就是告知Java调用一个非Java实现的方法,由于Java的理念是“Write Once, Run Anywhere”,因此高移植性也让Java丧失了对底层的控制。但有的时候必须访问系统底层权限或系统资源的时候,又或者丧失移植性来追求程序的效率是个不错的想法的时候,纯Java的实...原创 2019-09-02 12:58:05 · 864 阅读 · 0 评论