![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 92
数据结构与算法
当时明月plus
这个作者很懒,什么都没留下…
展开
-
双向Map:TreeBidiMap —— 实现key和value的互相读取
新接口被添加到支持双向映射。 使用双向映射,可以使用值查找键,并且可以使用键轻松查找值。接口声明以下是org.apache.commons.collections4.BidiMap <K,V>接口的声明 -public interface BidiMap<K,V> extends IterableMap<K,V>以下是接口的方...原创 2019-11-20 09:16:29 · 2237 阅读 · 0 评论 -
Java中HashMap,LinkedHashMap,TreeMap的区别
Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取...转载 2019-11-20 09:18:14 · 83 阅读 · 0 评论 -
JVM内存结构
目录◆ JVM体系结构 ◆ 程序计数器 ◆ 虚拟机栈 ◆ 本地方法栈 ◆ 堆 ◆ 方法区1.什么是JVMJava Virtual Machine:Java虚拟机,用来保证Java语言跨平台。Java虚拟机可以看做是一台抽象的计算机,如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域。Java虚拟机与Java语言并没有必然的联系,它只与特定的二进制文件格式(class文件格式所关联) Java 虚拟机就是一个字节码翻译器,它原创 2021-08-25 22:02:26 · 127 阅读 · 0 评论 -
模式设计:单例模式
单例模式单例模式分为懒汉式和饿汉式,饿汉式是指刚加载此类就创建类的对象,而懒汉式则是使用到此类才创建类的对象。饿汉式是线程安全的,懒汉式是线程不安全的。1)单例模式(饿汉式)class Singleton { // 持有自己的对象 private static Singleton s = new Singleton(); // 私...原创 2019-11-18 16:37:45 · 82 阅读 · 0 评论 -
三种排序算法:选择排序,冒泡排序,插入排序
1.选择排序/** * 选择排序 * */public class SelectionSortDemo { /*** * 选择排序:一轮,将最小的挑出来,放在最前面,将第一个索引,依次与后面的每一个索引比较 * 假设有一个数组,要求按照从小到大的顺序排列 * 第一轮,将索引0,与索引1比较,如果比索引0小则调换位置, * ...原创 2019-11-18 16:28:06 · 263 阅读 · 0 评论 -
数据结构与算法《四》排序算法(待完善)
一、简介在我们本章节的课程中只讲最经典最常用的九种排序算法:冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 计数排序 桶排序 基数排序在这些排序算法中如果按照时间复杂度来分类大致可以分为三类:冒泡排序,选择排序,插入排序 归并排序,快速排序,希尔排序 计数排序,基数排序,桶排序我们学习了那么多的排序算法,除了学习其原理,实现代码外,还要评判出各种排序算法之间性能,效率。那么我们应该从哪些方面来分析一个排序算法是好是坏呢?所以在正式进入排序算法之前,我.原创 2021-11-16 07:53:19 · 286 阅读 · 0 评论 -
数据结构与算法《三》散列表,哈希算法,树结构(待完善)
1.散列表1.1.概念散列表(Hash Table)又名哈希表/Hash表,是根据键(key)直接访问在内存存储位置的数据结构,它是由数组演化而来,利用了数组支持按照下标进行随机访问数据的特性。1.2.散列函数1.2.1.散列函数的要求和特点散列函数就是一个函数(方法),能够将给定的 key 转换成特定的散列值,我们可以表示为:hashValue = hash(key)散列函数需要满足以下几个基本要求:散列函数计算得到的散列值,必须是大于等于0的正整数,因为 hash 值需原创 2021-11-16 07:52:37 · 612 阅读 · 0 评论 -
数据结构与算法《二》散列表,哈希算法,树
1:今日课程内容介绍(了解)今日课程中我们主要来学习以下几个知识模块:• 散列表• 哈希算法• 树2:今日课程目标(了解)1:了解散列表的定义2:掌握散列表的要求和特点3:理解散列函数的设计方法4:掌握散列冲突的解决方案5:掌握散列表的应用: HashMap 源码分析6:掌握哈希算法的应用场景7:理解树的定义8:掌握二叉树的定义及遍历方式9:掌握二叉查找树的插入,删除,查询等相关操作10:掌握 AVL 树的特点及实现3.散列表(重要)3.1.散列原创 2021-07-27 22:58:39 · 913 阅读 · 0 评论 -
数据结构与算法《一》数组、链表、栈、队列
桶排序原理:桶排序(Bucket Sort)顾名思义,会用到“桶”,桶我们可以将其想象成一个容器,核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排完序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是有序的了。换句话说:桶排序就是将待排序集合中处于同一值域的元素存入同一个桶中,也就是根据元素值特性将集合拆分成多个区域,则拆分后...原创 2021-07-14 22:52:59 · 480 阅读 · 1 评论