单链表 单链表中节点的定义 typedef struct LNode{ int data;//数据域 struct LNode *next;//定义一个同类型的指针,指向该节点的后继节点 }LNode, *Linklist; LNode是一个数据节点,而单链表是用指针将许多数据节点连接起来的一个线性 ...
分类:
其他好文 时间:
2021-04-22 15:20:13
阅读次数:
0
并查集可以有两个优化方案, 1,平衡性优化:对每个结点标记一个重量值,在进行union操作时,将重量小的添加到重量大的节点上。 2,路径压缩:在进行find操作时,顺便对路径进行压缩 private int find(int x) { while (parent[x] != x) { // 进行路径 ...
分类:
其他好文 时间:
2021-04-22 15:12:28
阅读次数:
0
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它可以是一棵空树,也可以是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜 ...
分类:
其他好文 时间:
2021-04-21 12:31:46
阅读次数:
0
大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。64根柱子移动完毕之日,就是世界毁灭之时。 def hanio(n,a,b,c): ...
分类:
编程语言 时间:
2021-04-21 11:56:16
阅读次数:
0
#题 25:合并两个排序的链表 ##题干 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。——《剑指 Offer》P145 ##测试样例 链表的数据结构定义如下(Python): class ListNode: def __init__(self, x): self.v ...
分类:
编程语言 时间:
2021-04-20 15:40:06
阅读次数:
0
所谓并查集就是将编号为1~n的n个对象划分为不相交集合,在每个集合中,选择其中的某个元素代表所在集合在这个集合中,并查集的操作有初始化,合并,查找。 #include<bits/stdc++.h> using namespace std; #define IOS ios::sync_with_std ...
分类:
其他好文 时间:
2021-04-20 15:31:02
阅读次数:
0
| # java 集合面试 | | | | ## 一.各类集合框架的数据结构总结 | | | | ### 1.Collection接口下的集合 | | | | | | | | #### 1.1List接口 | | | | - Arraylist: Object[]数组 | | - Vector:Ob ...
分类:
编程语言 时间:
2021-04-19 15:39:19
阅读次数:
0
原题链接 考察:并查集 思路: 很容易想到用并查集的根节点代表此集合的权值和.但是注意在结点合并的时候,会出现本不属于这里的权值.被路径压缩加到子结点上. 这里有两种处理方式: 一、建立虚点. 在x,y之上建立一个结点s,在路径压缩时就不会合并到y集合的权值k. 二、特殊处理x结点权值,在x权值和上 ...
heap堆的使用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ...
分类:
编程语言 时间:
2021-04-16 12:16:43
阅读次数:
0
题目 点这里看题目。 分析 直接来做这个有趣的问题似乎显得太过棘手,不妨考虑一个较弱的问题: \[ \sum_{u=1}^n s_u \] 假如当前根确定为 \(r\) ,那么就有: \[ \sum_{u=1}^ns_u=\sum_{u=1}^n(\operatorname{dist}(u,r)+1 ...
分类:
其他好文 时间:
2021-04-16 12:12:11
阅读次数:
0