![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
数据结构与算法
阿萨德执行
这个作者很懒,什么都没留下…
展开
-
最大堆优先队列
优先队列普通的队列是一种先进先出的数据结构,元素在队列尾部追加,从而队列头删除。在某些情况下,我们可能需要找出队列中的最大值或者最小值,例如使用一个队列保存计算机的任务,一般情况下,计算机的任务都是有优先级的,我们需要在这些计算机的任务中找出优先级最高的任务先执行,执行完毕后就需要把这个任务从队列中移除。普通的队列要完成这样的功能,需要每次遍历队列中的所有元素,比较并找出最大值,效率不是很高,这个时候,我们就可以使用一种特殊的队列完成这种需求,优先队列。最大优先队列API设计;类名:MaxPrior原创 2020-05-25 14:45:50 · 380 阅读 · 0 评论 -
求解重合区间的个数
package com.test;import java.util.Arrays;import java.util.Comparator;import java.util.Scanner; /** * 输入: * 第一行: 一个整数n, 代表之后要输入多少个区间 * 之后, 每行有两个数, 例如: 3 6 其代表区间[3, 6) * 输入实例: * 4 * 1 9 * 2 3 * 3 5 * 3 6.转载 2020-05-25 10:50:16 · 563 阅读 · 0 评论 -
数据结构-红黑树概念及与平衡二叉树比较
红黑树定义和性质红黑树是一种含有红黑结点并能自平衡的二叉查找树。它必须满足下面性质:性质1:每个节点要么是黑色,要么是红色。 性质2:根节点是黑色。 性质3:每个叶子节点(NIL)是黑色。 性质4:每个红色结点的两个子结点一定都是黑色。 性质5:任意一结点到每个叶子结点的路径都包含数量相同的黑结点。从性质5又可以推出:性质5.1:如果一个结点存在黑子结点,那么该结点肯定有两个...原创 2020-02-27 16:53:33 · 1023 阅读 · 0 评论 -
数据结构-平衡二叉树AVL的增删与遍历
1、概念:平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。1.1 平衡因子:左子树的高度减去右子树的高度,及B = B左 - B右。由平衡二叉树的定义可知,平衡因子的取值只可能为0,1,-1。0:左右子树等高。1:左子树比较高。-1:右子树比较高1.2 最小不平衡子树...原创 2020-02-27 15:50:53 · 280 阅读 · 0 评论 -
数据结构-堆排序
堆排序:学习网站:https://www.cs.usfca.edu/~galles/visualization/HeapSort.html//先了解两个概念// 大顶堆:每个节点的值都大于或者等于它的左右子节点的值。// 小顶堆:每个节点的值都小于或者等于它的左右子节点的值。//堆排序的基本思想是:// 1、将带排序的序列构造成一个大顶堆,根据大顶堆的性质,当前堆的根节点(堆顶)...原创 2020-01-15 10:58:36 · 125 阅读 · 0 评论 -
数据结构-归并排序 nlogn,空间换时间
归并排序://归并排序,首先把一个数组中的元素,按照某一方法,先拆分了// 之后,按照一定的顺序各自排列,然后再归并到一起,// 使得归并后依然是有一定顺序的 。// 归并排序平均时间复杂度:O(nlogn),最坏时间复杂度:O(nlogn),辅助存储O(n)。package com.suirui.sort.mergesort;/** * Created by ...原创 2020-01-15 10:57:09 · 199 阅读 · 0 评论 -
数据结构-快速排序 最优nlogn 最差n^2
快速排序原理://基本思想:通过一趟快速排序将待排数组分割成独立的两份部分;//其中一部分数组的值均比另一部分数组的值小,则可分别对着两部分数组继续进行排序,以达到整个序列有序。// 快排的平均时间复杂度为n*log(n),最坏的时间复杂度为 n^2。package com.suirui.sort.quicksort;import com.suirui.sort.SwapE...原创 2020-01-15 10:55:25 · 749 阅读 · 0 评论 -
数据结构-二叉搜索树的增删与遍历
1、二叉搜索树概念:二叉搜索树是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点:若其左子树存在,则其左子树中每个节点的值都不大于该节点值; 若其右子树存在,则其右子树中每个节点的值都不小于该节点值。性能分析查询复杂度、构造复杂度和删除复杂度三种操作的时间复杂度皆为。的存在是应为二叉树有可能出现线性结构:下面分析线性结构的三种操作复杂度,以二分法为例:查询...原创 2020-01-13 14:54:35 · 161 阅读 · 0 评论