
数据结构
小猪快点跑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法:交换、选择、归并、基数(桶)、计数、插入
一、排序类别1、交换排序(1)冒泡排序(2)快速排序2、选择排序(1)简单选择排序(2)堆排序3、归并排序(1)二路归并(2)多路归并4、基数排序(分配、收集多次交替)(1)最低位优先、最高位优先(在纯数值排序时一般不用)(2)单关键字排序、多关键字排序(如排若干张扑克牌,有花色、面值两种关键字,需要两种桶,13个面值桶,4个花色桶)5、计数排序...原创 2019-07-10 17:05:34 · 257 阅读 · 0 评论 -
并查集 Union-Find Set
在计算机科学中,并查集是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个用于此数据结构的操作:Find:确定元素属于哪一个子集。这个确定方法就是不断向上查找找到它的根节点,它可以被用来确定两个元素是否属于同一子集。Union:将两个子集合并成同一个集合https://www....原创 2019-07-31 13:27:58 · 288 阅读 · 0 评论 -
链表问题:反转链表、反转m和n之间的链表、K个一组翻转链表
1、反转链表 反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLstruct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};...原创 2019-08-29 16:25:30 · 647 阅读 · 0 评论 -
top-k / top-kth
1、减治-快排 二分,平均每次只快排一半,n + n/2 + n/4 + ... ~=2n#include <iostream>#include <vector>#include <algorithm>#include <numeric>#include <climits>using namespace...原创 2019-09-02 13:23:55 · 247 阅读 · 0 评论 -
单调队列
1、单调队列 类似单调栈,只是单调栈的大小是不固定的,而单调队列的大小是有限制的,当队列大小超过限制时,就让队头出队。2、常见问题(1)滑动窗口最大值,递减队列,队头即为最大值,当队列大小超过限制时,出队头(2)滑动窗口最小值,递增队列,队头即为最小值,当队列大小超过限制时,出队头...原创 2019-09-19 22:16:23 · 115 阅读 · 0 评论 -
数据结构:二叉树的序列化、反序列化
一、四种遍历 前序遍历、中序遍历、后序遍历、层序遍历#include <iostream>#include <vector>#include <queue>#include <string>using namespace std;class Node{public: int val; Node *left;...原创 2019-10-11 17:53:58 · 226 阅读 · 0 评论