06 2023 档案

摘要:节点深度:从当前节点开始走,走几次可以走到根节点,走的距离就是节点深度 树深度:就是所有节点中最大的节点深度,简单来说就是这个树有多少层 一个节点的度:一个节点拥有子节点的数量 比如:下面这个“浅绿”的度数是2 深度为h的满二叉树有2h - 1个节点 深度为h的完全二叉树有2h - 1 个到2h - 阅读全文
posted @ 2023-06-28 22:52 AC玴 阅读(33) 评论(0) 推荐(0)
摘要:最大度和最小度了解就行,大佬说他自己也没用过 通路就是图中的一条点与点的串联起来的线路,无向图的不用区分方向,有向图的需要方向均一致,1->2->3,而不是1->2<-3,这就不是有向图中的通路了,通路是一个基本概念。 回路:起点和终点是同一个点的通路 环:没有相同的点的回路(除了相同的那个起始点兼 阅读全文
posted @ 2023-06-25 14:07 AC玴 阅读(64) 评论(0) 推荐(0)
摘要:unique(a.begin(), a.end()) 待研究 与离散化有关 // 翻转(reverse(位置,位置)) reverse(a.begin(), a.end()); int a[5] = {1, 2, 3, 4, 5}; reverse(a, a + 5); // 结果 5 4 3 2 阅读全文
posted @ 2023-06-11 22:31 AC玴 阅读(35) 评论(0) 推荐(0)
摘要:1.相当于加了一些操作的vector<char> 基本操作 字符串转换(C++11) // 将字符串转换为整型 stoi() // 将字符串转换为long long stoll() // 将字符串转换为float型 stof() // 将字符串转换为double型 stod() 后面加入 s += 阅读全文
posted @ 2023-06-11 17:27 AC玴 阅读(31) 评论(0) 推荐(0)
摘要:1.与set不同的是,multiset可以允许多个相同元素同时出现 重载函数(默认) multiset<int, int> mu; 基本操作 mu.erase(x); // 把所有与x相同的元素删除 // 如果我们只想删除一个的话 // 通过删除迭代器实现 mu.erase(mu.find(x)); 阅读全文
posted @ 2023-06-11 16:15 AC玴 阅读(20) 评论(0) 推荐(0)
摘要:1.不存在的元素查询时会自动生成 2.map就是一堆pair的集合,按照T1的字典序进行排列 3.可以像vector那样根据下标随时访问 重载函数 map<T1, T2> m; // 下标的类型,值的类型 // 按照T1的值进行字典序排序 // 下方为赋值操作 map<string, string> 阅读全文
posted @ 2023-06-11 14:27 AC玴 阅读(44) 评论(0) 推荐(0)
摘要:1.set只能insert()、erase(),没有push()等操作 2.插入的元素自动排序按从小到大的顺序排 3.不会插入相同的元素,已经插入了6,之后就不会再插入了 4.时间复杂度为 O(log n) 5.set不像vector那样可以用 v.begin() + 5使用,只能用++ it, - 阅读全文
posted @ 2023-06-11 11:11 AC玴 阅读(38) 评论(0) 推荐(0)
摘要:1.长度可变的数组 2.这里不是很懂,v.size() 代码源里说这个v.size()是无符号类型的,使用时要说明类型, 但是我在使用时并没有出现warning,有大佬知道原因吗? 前置板子 3.vector是有v.clear()的 4.vector按字典序比较 重构函数(默认) vector<in 阅读全文
posted @ 2023-06-10 23:04 AC玴 阅读(19) 评论(0) 推荐(0)
摘要:定义一个名为 ll 的类型 typedef long long ll; // 定义一个名为 ll 的类型,它是一个长整型,可以存储更大的整数值 定义一个可变数组vector的长度简洁式,解决代码源课程中提到的vector.size()是无符号类型问题 #define SZ(x) ((int)x.si 阅读全文
posted @ 2023-06-10 17:14 AC玴 阅读(43) 评论(0) 推荐(0)
摘要:1.两段都可以插入和删除(头 插入删除 尾 插入删除) 普通队列无法用pop_back()删除队列最后的元素,类似地,由于普通队列只能插入头删除,所以push()、pop()无需带_front()、_back() 正因双端队列可以对 头尾 操作 所以需要 push_front()、push()_ba 阅读全文
posted @ 2023-06-10 15:48 AC玴 阅读(35) 评论(0) 推荐(0)
摘要:1.无法访问v.front()、v.back() 2.是一个 堆,默认为大根堆,改造后为小根堆 大根堆 重构函数(默认)(大根堆) priority_queue<int> v; 基本操作 v.top() // 访问堆顶元素 v.push() // 加入堆顶 v.pop() // 弹出堆顶元素 (堆顶 阅读全文
posted @ 2023-06-10 15:03 AC玴 阅读(31) 评论(0) 推荐(0)
摘要:重构函数(默认) queue<int> q; 基本操作 q.front(); // 队列最前面的元素q.back(); // 队列最后面的元素q.size(); // 返回队列长度q.empty(); // 判断队列是否为空,为空返回trueq.push(); // 入队列操作,新进入队列的元素会成 阅读全文
posted @ 2023-06-10 14:15 AC玴 阅读(32) 评论(0) 推荐(0)
摘要:1.C++ 11 出现的, C++98没有 2.可以作为数组元素 pair<array<int, 3>, int>pair<int a[3], int > 不能这样写 3.大小比较是字典序 构造函数(默认) array<int, 5>创建一个长度为5的数组元素,下标从0到4,使用和 int a[] 阅读全文
posted @ 2023-06-10 13:52 AC玴 阅读(14) 评论(0) 推荐(0)
摘要:1.没有.clear()操作,需要手动pop() 重构函数(默认) stack<int> a; 基础操作 a.push() // 入栈 a.pop() // 弹出栈顶元素 a.empty() //判断是否为空操作 空的时候返回truea.top() // 栈顶元素 //从栈顶遍历到最后一个元素 wh 阅读全文
posted @ 2023-06-10 13:47 AC玴 阅读(15) 评论(0) 推荐(0)