- 博客(11)
- 收藏
- 关注
原创 时间复杂度和空间复杂度
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,有的时候时间和空间却又是「鱼和熊掌」,不可兼得的,那么我们就需要从中去取一个平衡点。下面我来分别介绍一下「时间复杂度」和「空间复杂度」的计算方式。
2024-09-24 21:37:51 891
原创 原码、反码、补码
1-1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]补+ [1111 1111]补= [1 0000 0000]补=[0000 0000]补=[0000 0000]原注意:进位1不在计算机字长里。1 - 1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]反+ [1111 1110]反= [1111 1111]反= [1000 0000]原= -0。现在我们为一个负数,找到了它的正数同余数。
2024-08-30 21:29:36 1059
原创 数据结构的基本概念
凭借一句话获得图灵奖程序数据结构算法程序=数据结构+算法程序数据结构算法这个公式展示出了程序的本质。数据结构是一种计算机科学技术领域广泛使用的专业术语。数据 + 结构。数据是信息的载体,是描述客观事物属性的数,字符及所有能被计算机识别和处理的符号的集合,结构包括数据的逻辑结构和存储结构。
2024-08-22 21:38:52 1114
原创 P10821 [EC Final 2020] Rooks 题解
这样我们就只需要比较当前车辆的信息与排在它之前的车辆的信息就行了,判断他们是否可以互相攻击。二人在一个二维平面上放置车,并判断是否有车会被另一辆车攻击。将两次答案结合起来,前。我们构建结构体数组,在当中存入每一辆车的横坐标。作为第一关键字进行排序。个数是第一行答案,后。
2024-08-21 22:42:29 978
原创 卡特兰(Catalan)
卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡特兰数的前20项为:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190。
2024-08-20 22:07:09 924
原创 洛谷P1265 公路修建 题解
后,循环n-1次,每次寻找其他未遍历过的节点中和当前节点距离最短的节点,将它标记为1,并将这条边的长度加到总长度中,以此节点为当前节点,继续循环。接下来,分析Prim。sum用来记录最终答案,dis数组用来保存当前节点至其他未经过的点的最短距离,vis数组保存已经过的点。先进行初始化,起始点当然为1号城市,先用欧几里得距离计算公式计算出1号城市与其他城市之间的距离,同时,vis[1]也要置为1。读完题目后,很容易就能发现这是一道最小生成树的题目,可以使用Prim或Kruskal来求解,本题解使用Prim。
2024-08-20 21:29:05 302
原创 Trie树
Trie树,即字典树,又称前缀树、单词查找树或键树。Trie树的典型应用是保存大量的字符串(但不限于字符串),并快速排序、统计、查找字符串或前缀。Trie树中的根节点表示空字符串,结点表示字符串前缀或字符串,边表示字符。
2024-06-22 16:49:40 1010 4
原创 P7622 [AHOI2021初中组] 坑 题解
中的最大值,预处理即可。复杂度 $O(n \log n)。步,那么该操作方案能杀死所有跳蚤的充要条件是对所有。个左可以构造出一种操作方案。只跳蚤到左边/右边最近坑的距离,没坑则为。假设我们的操作向左最多移动。进一步的,我们将跳蚤按。
2024-06-12 20:04:06 1370 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人