摘要:
一、介绍 通过把 关键码值key映射到表中一个位置(数组的下标) 来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表,即哈希表。哈希表是一种典型的“以空间换时间”的做法。 键(key): 组员的编号 值(value): 组员的其他信息(值大小、姓名、年龄等) 索引: 数 阅读全文
posted @ 2026-04-20 15:35
myLv
阅读(9)
评论(0)
推荐(0)
摘要:
一、 使用头文件 #include <chrono> 这是C++中精度最高的计时方式 #include <iostream> #include <chrono> int main() { // 记录开始时间 auto start = std::chrono::high_resolution_cloc 阅读全文
posted @ 2026-04-20 15:35
myLv
阅读(27)
评论(0)
推荐(0)
摘要:
一、欧几里得算法 其实就是辗转相除法求最大公约数gcd 定理: gcd(a, b) = gcd(b, a%b),其中a%b != 0,gcd(a, b)表示a与b的最大公约数 // 1. int get_gcd(int a, int b) { if (b == 0) return a; else r 阅读全文
posted @ 2026-04-20 15:35
myLv
阅读(19)
评论(0)
推荐(0)
摘要:
一、介绍 作用: 平衡二叉树的精髓就在于平衡。对于普通的BST,若节点多的话,就很容易出现左右不协调的问题,即左边很高,右边很矮,或者相反,从而导致search过程很慢,而平衡二叉树可以让左右子树的高度差在1范围内,这样就可以避免左右不协调的问题,加快search速度。 核心: abs(Height 阅读全文
posted @ 2026-04-20 15:35
myLv
阅读(6)
评论(0)
推荐(0)
摘要:
一、介绍 类比浏览器的搜索功能,近期搜索的内容会在搜索记录的最上方,而之前的则相对较为下面,这就是伸展树的原理:将上一次Search的节点通过一系列AVL树的旋转操作变为树的根。 二、伸展操作 从底向上沿着访问路径旋转,令node为访问路径上的一个"非根节点" 若node的父节点是根节点,那么只要旋 阅读全文
posted @ 2026-04-20 15:35
myLv
阅读(7)
评论(0)
推荐(0)
摘要:
当知道前序遍历、中序遍历、后序遍历中的两种遍历方式,就能够反推出二叉树的结构了。 但是要注意一点:已知前序遍历&后序遍历结果时,二叉树不能有节点的度为1!!! 提醒: 此处默认二叉树节点存储的值为int类型,其他类型,如char等可以将vector换为string等 例题:遍历问题,美国血统 一、已 阅读全文
posted @ 2026-04-20 15:35
myLv
阅读(15)
评论(0)
推荐(0)
摘要:
一、说明 优先队列是一种特殊的队列,其中每个元素都有一个优先级。出队操作总是返回具有最高优先级的元素,而不是等待时间最长的元素。 二、特点 有序性:元素按照优先级排序,而不是按插入顺序 动态性:支持动态插入和删除操作 高效性:插入和删除操作的时间复杂度为O(log n) 三、实现原理 优先队列通常使 阅读全文
posted @ 2026-04-20 15:35
myLv
阅读(30)
评论(0)
推荐(0)
浙公网安备 33010602011771号