![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
南风~~~
字节跳动校招内推码: 2XT6BMS
展开
-
排序算法稳定性分析
稳定性定义假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。各排序算法的稳定性:1、堆排序、快速排序、希尔排序、直接选择排序不是稳定的排序算法;2、基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。一.冒泡排序1、小的元素往前调或者把大的元素往后调;2、比较是相邻的两个元素比转载 2020-06-21 15:38:17 · 497 阅读 · 0 评论 -
归并排序原理及Java实现
1、基本思想:归并排序就是利用归并的思想实现的排序方法。而且充分利用了完全二叉树的深度是的特性,因此效率比较高。其基本原理如下:对于给定的一组记录,利用递归与分治技术将数据序列划分成为越来越小的半子表,在对半子表排序,最后再用递归方法将排好序的半子表合并成为越来越大的有序序列。经过第一轮比较后得到最小的记录,然后将该记录的位置与第一个记录的位置交换;接着对不包括第一个记录以外的其他记录进行第二...转载 2020-03-21 09:31:30 · 327 阅读 · 0 评论 -
HashMap实现原理和源码分析
1.散列表(哈希表)如果让我们设计一个可以存储“键值对”的容器,我们会想到什么方法。有可能是这样的:用一个数组来持有映射对象。但是这样的容器性能非常低下,例如我们想取出键为C的值,我们需要遍历这个数组,一一对比键是否相同。存入一个新的映射对象时,也是要遍历数组,看当中是否有相同的键。1.1 散列函数 hashCode()有没有一种方式,可以直接通过索引定位呢?例如,我们将a、b、c、d...转载 2020-03-21 17:19:25 · 220 阅读 · 0 评论 -
Java中的自动装箱与拆箱
Java中的自动装箱与拆箱自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集合只接收对象。通常这种情况下你的做法是,将这...转载 2020-03-16 15:59:36 · 97 阅读 · 0 评论 -
Java Queue的常用方法和方法的区别:offer/add,peek/element,poll/remove
Java Queue的常用方法add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常element 返回队列头部的元素 如果队列为空,则抛出一个NoSuc...原创 2020-02-03 23:02:18 · 1064 阅读 · 0 评论