数据结构
数据结构
点蓝红
这个作者很懒,什么都没留下…
展开
-
HashMap问题整理
hashmap扩容原理和扩容形式的演变原创 2021-10-14 16:59:51 · 318 阅读 · 0 评论 -
冒泡排序和选择排序(Java实现)
一、冒泡排序优缺点:优点:比较简单,空间复杂度较低,是稳定的;缺点:时间复杂度太高,效率慢; public static int[] sort(int[] arr){ for (int i =0;i<arr.length;i++){ for (int j = 0; j < arr.length-i-1; j++) { if(arr[j]>arr[j+1]){原创 2021-09-29 13:54:34 · 212 阅读 · 0 评论 -
快速排序算法(java实现)
快速排序(Quicksort)是对冒泡排序算法的一种改进。复杂度:O(nlog2 n)是否稳定:快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。适用场景:当数据量较大,要求速度较快的时候可以使用(比较的元素越多,快速排序比冒泡排序越快)当输入的数据基本有序的时候数据量小时不建议用优化:序列长度达到一定大小时,使用插入排序尾递归优化聚集元素多线程处理快排快速排序算法通过多次比较和交换来实现排序,其排序流程如下:1. .原创 2021-09-28 22:28:17 · 634 阅读 · 0 评论 -
jdk1.7的HashMap底层原理
简介基于哈希表的 Map 接口的实现 HashMap是线程不安全的,在多线程下可能出现问题,而HashTable是线程安全的。 HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。将在下文介绍。源码分析Entry类型存储//用于存储Node节点,由上图所示static class Entry<K,V> implements Map.Entry<K,V> { final K key; //键 V value; ..原创 2021-09-11 11:58:11 · 120 阅读 · 0 评论 -
实现jdk1.7的简易HashMap
我的gitee中该项目地址:https://gitee.com/dianlanhong/hash-map1.7原创 2021-09-11 11:24:16 · 105 阅读 · 0 评论 -
八大排序算法整理
术语解释稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 仍然在 b 的前面,则为稳定排序非稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 可能不在 b 的前面,则为非稳定排序原地排序:原地排序就是指在排序过程中不申请多余的存储空间,只利用原来存储待排数据的存储空间进行比较和交换的数据排序非原地排序:需要利用额外的数组来辅助排序时间复杂度:一个算法执行所消耗的时间空间复杂度:运行完一个算法所需的内存大小选择排序插入排序冒泡排序非优化原创 2021-08-25 22:13:26 · 133 阅读 · 0 评论 -
Java 队列(Queue)基础
Java的队列:队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。代码示例:import java.util.LinkedList;import java.util.Queue; public class Main { public static void main(String[] args) { //add()和remove(原创 2021-08-18 21:15:56 · 88 阅读 · 0 评论 -
Java 数组详细介绍
什么是数组数组是一组地址连续、长度固定的具有相同类型的数据的集合,通过数组下标我们可以指定数字中的每一个元素为什么要有数组(容器)为了存储同种数据类型的多个值数组特性固定长度(一旦申请完毕,长度就无法改变)索引从0开始,最后一个元素的下标是(length-1)元素之间内存地址是连续的数组可以随机存取(即通过下标直接访问对应元素)数组的删除、插入等操作都需要判断是否要移动后面的数据数组的类型可以是基本数据类型和引用类型数组的定义和内存分配在Java中通过(类型名[] 数组名)或原创 2021-08-16 20:15:41 · 160 阅读 · 0 评论