DS
Thorzen
这个作者很懒,什么都没留下…
展开
-
java八大排序
文章目录1、冒泡排序2、选择排序3、直接插入排序4、希尔排序5、快速排序6、归并排序7、基数排序8、堆排序1、冒泡排序冒泡排序原理:相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处冒泡排序图解:代码演示:package 八大排序;import java.util.Arrays;public class 冒泡排序 { public static void main(String[] args) { //冒泡排序的原理:相邻元素两两比较,大的往后放原创 2020-07-31 22:09:43 · 179 阅读 · 0 评论 -
数据结构5 | HashMap底层原理及实现
文章目录1、什么是HashMap2. 两个重要的参数3. put函数的实现4. get函数的实现5. hash函数的实现**面试常考点**什么时候会使用HashMap?他有什么特点?你知道HashMap的工作原理吗?你知道get和put的原理吗? equals()和hashCode()的都有什么作用?你知道hash的实现吗?为什么要这样实现?如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办?1、什么是HashMapHashMap<String, Integer&g原创 2020-07-31 21:53:46 · 167 阅读 · 0 评论 -
数据结构4 | 哈希表及其应用
1、什么是哈希表哈希表也称为散列表,是用来存储群体对象的集合类结构。数组和向量都可以存储对象,但对象的存储位置是随机的,也就是说对象本身与其存储位置之间没有必然的联系。当要查找一个对象时,只能以某种顺序(如顺序查找或二分查找)与各个元素进行比较,当数组或向量中的元素数量很多时,查找的效率会明显的降低。一种有效的存储方式,是不与其他元素进行比较,一次存取便能得到所需要的记录。这就需要在对象的存储位置和对象的关键属性之间建立一个特定的对应关系,使每个对象与一个唯一的存储位置相对应。在查找时,只要根据待原创 2020-07-31 21:25:22 · 881 阅读 · 0 评论 -
数据结构3 | 堆及其堆的实现
什么是堆?要想实现堆,先要知道什么是堆和堆都有那些操作。**堆(英语:heap)**是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。通俗的说堆是使用数组保存二叉树结构,方式即将二叉树用层序遍历方式放入数组中。 一般只适合表示完全二叉树,因为非完全二叉树会有空间的浪费。 这种方式的主要用法就是堆的表示。堆有哪些特性?已知双亲(parent)的下标,则:左孩子(left)下原创 2020-07-31 21:11:33 · 151 阅读 · 0 评论 -
数据结构2 | 线性表(顺序表、单链表、双链表)
1、线性表及其逻辑结构线性表是最简单也是最常用的一种数据结构。英文字母表(A、B、…、Z)是一个线性表,表中每个英文字母是一个数据元素;成绩单是一个线性表,表中每一行是一个数据元素,每个数据元素又由学号、姓名、成绩等数据项组成。 1.1 线性表定义线性表是具有相同特性的数据元素的一个有限序列。线性表一般表示为:L = (a1, a2, …, ai,ai+1 ,…, an)线性表中元素在位置上是有序的,这种位置上有序性就是一种线性关系,用二元组表示: L = (D, R)原创 2020-07-30 10:12:42 · 1801 阅读 · 0 评论 -
数据结构1 | 基础概念及思维导图
文章目录1、数据结构基础1.1 什么是数据结构?1.2 数据结构相关基础概念2、思维导图1、数据结构基础1.1 什么是数据结构?数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。1.2 数据结构相关基础概念1.数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称。2.数据元素:数据(集合)中的一个“个体”,数据及结构中讨论的基本单位3.数据项:数据的不可分割的最原创 2020-07-30 09:09:10 · 327 阅读 · 0 评论