![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 60
金清泽
这个人很懒,什么都没有留下。
展开
-
二分搜索算法
想要找一个数是否存在于数组中,遍历的效率显然是很低的,但我们使用二分搜索的话,效率就快上许多 二分搜索的前提是在一个有序的数组中,如果想要使用二分搜索, 可以使用排序算法对数组进行排序。 思路:在一个有序的数组中,我们将数组的头记为left,数组的尾记为right,然后计算出中间位置的索引。每次判断中间位置的元素是否是我们所需要的。如果中间元素的值大于所需要的值,我们就在中间位置的左边寻找,改变right为mid-1,继续寻找 如果找到,我们就返回索引。如果找不到,那么最后的结果一定是left>r.原创 2022-03-05 14:54:53 · 163 阅读 · 2 评论 -
线段树--让区间求和和最值问题变简单
线段树会让我们的区间求和变得更简单,快速入手他区间求和的原理,让我们一起学习吧!原创 2022-02-21 21:44:10 · 447 阅读 · 0 评论 -
快把单词的存储都改成字典树吧
字典树可以让我们的单词的每个字母顺序存储,在查找的过程中效率更高,快来入手吧!原创 2022-02-21 21:38:45 · 206 阅读 · 0 评论 -
堆的相关操作--实现堆排序只需要三步
堆的使用其实很简单,相比于普通的排序,堆的效率相应更高一些原创 2022-02-17 16:02:07 · 621 阅读 · 0 评论 -
二分搜索树
学习目标: 掌握二分搜索树 学习内容: 1、 树结构 2、 二分搜索树的基础 3、 二分搜索树的操作 4、 二分搜索树的遍历 学习时间: 2021年9月12日 学习产出: 1、 技术笔记 1 遍 2、CSDN 技术博客 1 篇 树结构 为什么要有树结构 树结构本身是一种天然的组织结构,如果用树结构来存储数据,由它的关系可以是查找更加高效,数据也可以更有逻辑 二分搜索树的基础 二分搜索树的结点定义 class Node { T val;//结点的值 Node l原创 2021-12-09 11:05:47 · 480 阅读 · 0 评论 -
数据结构-链表
学习目标: 链表的只是 学习内容: 1、 创建结点 2、 添加结点 3、 删除结点 4、 其他操作 5、 使用链表实现队列 学习时间: 2021年7月10日 学习产出: 1、 技术笔记 1 遍 2、CSDN 技术博客 1 篇 3、 练习题若干 前面学习的线性数据结构:1.动态数组 2.栈 3.队列 底层都是依托静态数组:靠resize解决固定容量的问题 今天学习的链表是真正的动态数据结构 链表 数据存储在结点(Node)中 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上原创 2021-08-16 10:51:36 · 84 阅读 · 0 评论 -
数据结构-栈和队列
学习目标: 掌握数据结构栈和队列 学习内容: 1、 栈 2、 队列 3、循环队列 学习时间: 2021年7月4日 学习产出: 1、 技术笔记 1 遍 2、CSDN 技术博客 1 篇 栈Stack 栈也是一种线性数据结构规定只能从栈顶添加元素,也只能从栈顶取出元素 栈是一种后进先出的数据结构 Last In First Out(LIFO) 栈的具体实现 Stack void push(T ele) //入栈 T pop() //出栈并返回元素 T peek() //返回栈顶元素但不删除原创 2021-07-04 21:07:24 · 59 阅读 · 0 评论 -
数据结构--数组
学习目标: 学习数据结构的数组 学习内容: 1、 数组的概念 2、 数组的基本操作 3、 时间复杂度 学习时间: 2021年7月3日 学习产出: 1、 技术笔记 1 遍 2、CSDN 技术博客 1 篇 3、力扣网练习3题 数组 1、数组的概念: 用来存储一组数据元素相同的数 2、java中数组的定义: 数据类型[] 数组名 3、java中数组的初始化: 数据类型[] 数组名 = new 数据类型[数组长度]; 数据类型[] 数组名 = {数组元素}; 4、数组在内存中原创 2021-07-03 20:46:55 · 70 阅读 · 0 评论