数据结构
文章平均质量分 81
Kirl z
深思,努力!!
发量不多了!!!!!!
展开
-
数据结构--链表
数据结构--欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdow原创 2021-04-06 12:07:19 · 786 阅读 · 0 评论 -
数据结构--顺序表
数据结构--顺序表1. 什么是顺序表?1. 什么是顺序表?顺序表是数据结构中, 耿广义的概念数组是 Java 语法中, 更具体的概念数组是实现顺序表的一种典型方式Java 实现顺序表的时候, 有一个专门的类 ArrayList (针对普通的数组进行封装)List: 线性表ArrayList: 顺序表Collection: 元素集合一个线性表要提供的典型操作(增删改查), 就可以直接参考 List 接口里面的方法...原创 2021-04-06 11:35:23 · 377 阅读 · 0 评论 -
数据结构--List(线性表)
数据结构--List(线性表)认识线性表(List)认识线性表(List)线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑(代码概念上)上是线性结构,也就说是连续的一条直线。在物理结构(内存的布局)上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表: 元素与元素之间是一个 “线性” 的关系注意: 顺序表中一定要区分两个概念 容量(capa原创 2021-04-05 10:28:48 · 851 阅读 · 0 评论 -
数据结构--时间复杂度和空间复杂度
数据结构--时间复杂度1. 算法效率1. 算法效率原创 2021-04-04 20:37:56 · 274 阅读 · 0 评论 -
数据结构--哈希表
数据结构--哈希表1. 哈希表1.1 什么是哈希表?1.2 哈希表引入2. 哈希冲突3. 哈希冲突-避免3.1 闭散列3.2 开散列3.3 负载因子4. 哈希表实现5. 性能分析6. 类集关系1. 哈希表1.1 什么是哈希表?哈希表是基于数组衍生出来的,哈希表高效的核心奥秘是数组的随机访问能力.顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。 顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log2Nlog_2 Nlog2N原创 2021-04-02 11:13:37 · 323 阅读 · 1 评论 -
数据结构--二叉搜索树
数据结构--二叉搜索树1. 搜索树1.1 什么是搜索树?2. 基础操作2.1 查找2.2.1 实现思路2.2.2 实现2.2 插入2.2.1 实现思路2.2.2 实现2.3 删除2.3.1 实现思路3.2 实现1. 搜索树1.1 什么是搜索树?二叉搜索树又称二叉排序树,具有以下性质的二叉树是二叉搜索树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树2. 基础操作2.1 查找2.2.1原创 2021-04-01 20:07:03 · 300 阅读 · 1 评论 -
数据结构-- Map 和 Set
数据结构-- Map 和 Set1. 搜索1.1 概念1.2 模型2. Map 的使用3. Set 的使用1. 搜索1.1 概念Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。Map和Set是一种适合动态查找的集合容器。常见的搜索方式有:直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢二分查找,时间复杂度为O(log2N)O(log_2N)O(log2N),但搜索前必须要求序列是有序的1.2 模型一般把搜索的数据称为关键字(Key原创 2021-04-01 17:22:10 · 346 阅读 · 0 评论 -
数据结构--排序(二)
数据结构--排序(二)1. 堆排序1.1 堆排序原理1.2 堆排序实现2. 冒泡排序2.1 冒泡排序原理2.2 冒泡排序实现3. 快速排序3.1 快速排序原理3.2 快速排序实现(递归)3.3 快速排序实现(非递归)4. 归并排序4.1 归并排序原理4.2 归并排序实现(递归)4.3 归并排序(非递归)1. 堆排序1.1 堆排序原理基本原理也是选择排序,只是不在使用遍历的方式查找无序区间的最大的数,而是通过堆来选择无序区间的最大的数。注意: 排升序要建大堆;排降序要建小堆。1.2 堆排序实现原创 2021-03-26 17:45:11 · 282 阅读 · 5 评论 -
数据结构--排序(一)
数据结构--排序什么是排序?什么是排序?排序原创 2021-03-26 16:44:38 · 293 阅读 · 2 评论 -
数据结构--堆
数据结构--堆什么是堆?堆的存储方式堆的操作堆的创建什么是堆?元素按完全二叉树的顺序存储方式存储在一个一维数组中。根节点最大的堆叫做最大堆(大根堆),根节点最小的堆叫做最小堆(小根堆)。堆的性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。堆的存储方式堆是一个完全二叉树,因此可以层序的规则采用顺序的方式搞笑存储。注意:对于非完全二叉树,则不适合使用顺序方式进行存储,因为为了能够还原二叉树,空间中必须要存储空节点,就会导致空间利用率比较低。将元素存储到数组原创 2021-03-26 15:08:31 · 222 阅读 · 0 评论 -
数据结构--优先级队列
数据结构--优先级队列(堆)一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-03-26 14:00:15 · 791 阅读 · 3 评论 -
数据结构--栈和队列
数据结构--栈和队列栈(Stack)和 队列(Queue)栈(Stack)实现队列(Queue)实现循环链表栈(Stack)和 队列(Queue)栈(Stack)栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中元素遵循后进先出的原则。压栈:栈的插入操作叫做进栈 / 出栈 / 压栈,入栈数据在栈顶。出栈:栈的删除操作叫出栈,出栈数据在栈顶。实现顺序表:使用尾插操作表示“入栈”,使用尾删操作表示“出栈”,使用根据下标取元原创 2021-03-16 23:36:59 · 212 阅读 · 1 评论 -
数据结构--树
数据结构--二叉树什么是二叉树?新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入什么是二叉树?树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂原创 2021-03-24 16:17:36 · 252 阅读 · 2 评论 -
数据结构--二叉树
数据结构--二叉树什么是二叉树?二叉树的基本形态特殊的二叉树二叉树性质二叉树的表示二叉树基本操作二叉树遍历二叉树基本操作二叉树层序遍历二叉树非递归实现遍历前序遍历中序遍历后序遍历什么是二叉树?一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。二叉树的特点:每个结点最多有两棵子树,即二叉树不存在度大于 2 的结点。二叉树的子树有左右之分,其子树的次序不能颠倒,因此二叉树是有序树。二叉树的基本形态上图给出的二叉树是不同的二叉树几种特原创 2021-03-24 17:37:24 · 382 阅读 · 0 评论