![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Star_.
这个作者很懒,什么都没留下…
展开
-
P1908 逆序对
写给自己复习看,归并排序下,将数组每次都从中间分开,直到分的数组里只有1个元素,接下里是并,现在依次对比分开的数组元素大小,(借用下大佬的图片)然后左边的元素比右边的大,就交换位置,归并到上一个层级之后继续归并,直至数组归并到n。分治,正好练一练,没想到把归并排序也复习了一下,确实有点忘记了。这题是归并排序的应用,也可以用树状数组来做。原创 2022-09-25 15:12:00 · 173 阅读 · 0 评论 -
合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 哈哈,复习递归和数据结构 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int v原创 2022-02-12 11:33:41 · 225 阅读 · 0 评论 -
删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 题不难,但是很一种递归的方法很巧妙 首先,看下我又臭又长的代码: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(原创 2022-02-10 11:37:06 · 171 阅读 · 0 评论 -
链式前向星
链式前向星就是邻接表的数组存储方式 链式前向星的构造 #include<bits/stdc++.h> using namespace std; int n,m,s,u,v,w,cnt,head[100005]; struct Edge{ int to,dis,next; }edge[2000005]; void Add_edge(int from,int to,int w){ edge[++cnt].to=to; edge[cnt].dis=w; edge[cnt原创 2021-11-27 22:33:31 · 237 阅读 · 0 评论 -
树状数组简述
树状数组是利用二进制的特点进行检索的树状结构。 就像前缀和,一个数组里包含多个数之和,树状数组也就有这样的性质 对于每个数组的元素他的值到底等于哪些元素的和。是利用了二进制数的性质 将数字转化成二进制数,最末尾的一之后哪些数转化成十进制就是代表他由几个数组成。从他这个数本身开始往前。也就是说c[i]必定包括a[i]。 那我们是通过一个lowbit函数来找到这个末尾最后一个1的 int lowbit(int x){ return x&-x; } 树状数组求前n项的和 int sum(int i)原创 2021-10-09 14:40:21 · 86 阅读 · 0 评论 -
Treap树
简述: Treap=Tree+Heap。Treap树也是一个二叉搜索树,但是他多了一个键值key,这些优先级是是在结点插入时,随机赋予的,Treap根据这些优先级满足堆的性质。要满足堆的性质,treap树则构造了一个旋转函树。 对于treap树,基本的操作有:结点的定义,插入,旋转,找第k大的数,查询某个数 结点的定义: struct node{ int rank;//优先级 int key;//键值 int size;//这个结点为根结点时的子树的结点总数(用于名次数) n原创 2021-10-09 13:59:18 · 192 阅读 · 0 评论 -
线段树简述
线段树概念: 线段树是一种二叉搜索树,其存储的是一个区间的信息,用[L,R]表示从L到R之间存在的信息。 线段树的延迟更新: 在结构体中再定义一个对象 lazy,add记录的是此节点所代表的区间所有数被加的值,在我们进行操作时,比如加减,我们就可以利用lazy然后往下修改,而不用修改一次就遍历一次,大大节约时间。 线段树的基本操作: 建树、单点查询、单点修改、区间查询、区间修改 结点的构建: const int maxn=1e6; struct node{ int l, r,lazy,val; }tr原创 2021-10-02 22:58:57 · 99 阅读 · 0 评论