![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
haoke_cn
这个作者很懒,什么都没留下…
展开
-
数据结构 - 红黑树
文章目录介绍编码细节 介绍 红黑树可以在 O(logN)O(logN)O(logN) 时间内完成查找,插入,删除操作。相比 AVL ,牺牲了部分平衡性以在插入、删除操作时减少旋转操作,整体性能优于 AVL。 C++ STL 的 map 就是用红黑树实现的。 满足以下 5 个条件: 每个节点非黑即红 视为树(包含部分子树)的根节点是黑色的 叶节点 (NIL) 是黑色的 如果一个节点是红色,则它的两个子节点是黑色的 从根节点出发到所有叶节点的路径上,黑色节点数量相同 4、5 两条规则使得红黑树从根节点到每原创 2020-12-23 13:42:55 · 106 阅读 · 0 评论 -
数据结构 - 森林与并查集
文章目录使用场景C 实现C++ 实现 使用场景 并查集常用于操作不相交集合,判断或操作相关联关系,类似将森林中的两棵树进行合并 C 实现 quick_find 算法,将同属于一区块的集合进行 “染色” 判断 #include <stdio.h> #include <stdlib.h> typedef struct UnionSet { int *color; int n; } UnionSet; UnionSet *init(int n) { UnionSet *u = (原创 2020-12-02 10:22:04 · 94 阅读 · 0 评论 -
数据结构 - 优先队列与堆
文章目录使用场景C 实现C++ 实现 使用场景 某些情况下要让高优先级的元素先出队,优先队列实际上是用堆实现的。 C 实现 priority_queue 优先队列 #include <stdio.h> #include <stdlib.h> #include <time.h> #define swap(a, b) { \ __typeof(a) __temp = a; \ a = b; b = __temp; \ } typedef struct p原创 2020-12-02 10:21:54 · 109 阅读 · 0 评论 -
数据结构 - 哈希表
文章目录使用场景C 实现C++ 实现 使用场景 空间换时间,记录一些数据根据映射结果取 C 实现 #include <stdio.h> #include <stdlib.h> #include <string.h> // 链表解决冲突 typedef struct Node { char *str; struct Node *next; } Node; typedef struct HashTable { Node **data; i原创 2020-12-02 10:21:42 · 75 阅读 · 0 评论 -
数据结构 - 排序与查找
文章目录使用场景稳定排序C 实现C++ 实现不稳定排序C 实现C++ 实现查找C 语言实现C++ 实现 使用场景 了解各个排序的特性,针对排序好的序列进行查找 稳定排序 C 实现 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define swap(a, b) { \ a ^= b; b ^= a; a ^= b; \ } // 宏书写,方原创 2020-12-02 10:21:32 · 154 阅读 · 0 评论 -
数据结构 - 树与二叉树
文章目录使用场景C 实现C++ 实现 使用场景 树遍历关系 C 实现 #include <stdio.h> #include <stdlib.h> #include <time.h> typedef struct Node { int data; struct Node *lchild, *rchild; } Node; typedef struct Tree { Node *root; int n; } Tree; Node *g原创 2020-12-02 10:21:18 · 46 阅读 · 0 评论 -
数据结构 - 栈和队列
文章目录使用场景栈C 语言实现C++ 实现队列C 语言实现C++ 实现 使用场景 栈用来回溯和匹配一些进出情况,队列用来先进先出,实际应用中可用来缓冲一些请求 栈 C 语言实现 #include <stdio.h> #include <time.h> #include <stdlib.h> #define COLOR(a, b) "\033[" #b "m" a "\033[0m" #define GREEN(a) COLOR(a, 32) typedef stru原创 2020-12-02 10:21:06 · 46 阅读 · 0 评论 -
数据结构 - 顺序表和链表
文章目录使用场景C 实现C++ 实现 使用场景 顺序表直接查找,链表空间方便阔容插入删除方便 C 实现 顺序表 #include <stdio.h> #include <stdlib.h> #include <time.h> #define COLOR(a, b) "\033[" #b "m" a "\033[0m" #define GREEN(a) COLOR(a, 32) typedef struct Vector { int *data; in原创 2020-12-02 10:20:29 · 69 阅读 · 0 评论