登录社区云,与社区用户共同成长
邀请您加入社区
深搜是作为一种遍历或搜索图和树的算法。 思想:不撞南墙不回头! 首先选取一个未访问的点作为源节点。从源节点选取一条路一直往下走,沿着当前顶点的边,访问这条路线,直到走不下去为止。这时返回上一顶点,继续试探访问此顶点的其余子顶点,直到当前顶点的子顶点都被访问过,那么,返回上一顶点,继续重复。从而实现遍历。 来个简单的例子模拟DFS的过程: (首先,我们默认优先选择靠左或靠下的元素进行访问 ) 选择A
我 laq HLOIer(已退役) 2021.10.24 - 2025.2.19 (初二至高二) 历时约 3 年,结束 oier 生涯。 算半个 JLOIer 吧。 关于烤肉(2025.2.25 22:13 更新) 为什么自称烤肉 OIer? 大概是因为每个月平均会吃两次烤肉吧。 附图&
一、堆的基本概念 堆是计算机科学中一类特殊数据结构的统称。它是一种完全二叉树,即除了最后一层外,其他层都是满的,并且最后一层的节点从左到右依次排列。在堆中,节点的值与父节点的值有特定的关系,从而分为最大堆和最小堆。 最大堆的特性是对于每个节点,它的值都大于或等于其子节点的值。这意味着根节点的值是整个堆中的最大值。例如,在一个整数最大堆中,如果根节点的值为 100,那么它的两个子节点
一、Dijkstra算法概述 Dijkstra算法是一种经典的用于求解图中单源最短路径的算法,由荷兰计算机科学家Edsger W. Dijkstra在1959年提出。以下是对Dijkstra算法的详细概述: 1.1 基本概念 单源最短路径:从图中某一指定顶点(源点)出发,到图中其余各顶点的最短路径问题。 边权重:在带权图中,每条边都对应一个权重值,代表两顶点之间的距离或成本。 1.2 算法
一、什么是 KMP 算法 KMP算法,全称为Knuth-Morris-Pratt算法,是一种字符串匹配算法。它的基本思想是,当出现字符串不匹配时,可以知道一部分文本内容是一定匹配的,可以利用这些信息避免重新匹配已经匹配过的文本。这种算法的时间复杂度为O(n+m),其中n是文本串的长度,m是模式串的长度,比暴力匹配算法具有更高的效率。KMP算法的核心是利用模式串本身的特点,预处理出一个next数组,
1.1时间复杂度的概念 时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的
一、概念 百度百科的解释:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。 所以贪心算法也存在如下问题: 1、不能保证解是最佳的。因为贪心算法总是从局部出发,并没从整体考虑; 2、贪心算法一般用来解决求最大或最小解; 3、贪心算法
一、算法基本概念 1.算法定义的理解 2.算法的特性 二、算法的度量指标 1、分类性能度量指标 2、时间复杂度与空间复杂度 3、其他度量指标 三、常用算法 1、基本数据结构与算法 2、高级算法 3、特殊领域算法 四、算法设计与分析 1、算法设计 1. 算法设计的基本概念 2. 常见的算法设计技巧 3. 算法设计的基本步骤 2、算法分析 1. 算法效率的分析 2. 算法效率的影响因素 3. 算法分析
关机: shutdown [-t n] [-krhn] time [‘msg’] -t n:在n秒后发送警告信息msg -k:仅发送警告,不是真的关机 -r:将所有的服务停止后重启(常用) -h:将所有的服务停在后关机(常用) -n:直接关机 重启: reboot [-n] [-w] [-d] [-f] [-i] -n:重启前不进行回填操作 -w:并非真的重启,而是把记录写入到文档/var/lo
本系列文章分为六部分,本文为第一部分。虽然在 2018 年写了同一个主题的文章,但现在许多事情发生了变化。欢迎关注作者了解相关资讯。 信息学竞赛作为五大学科竞赛之一,无论是竞赛升学领域、还是在开拓学生视野、拓展思维的方面,都具有不可小觑的影响力。在信息学相关的竞赛中,最具有影响力和含金量的是由中国计算机学会(CCF)组织的 NOI 系列赛事,次一等的则为各省市举办的编程比赛以及中国电子学会考评中心