找到 1861 篇文章 关于数据结构

使用 DFS 按字典序遍历

Pranavnath
更新于 2023年8月25日 11:10:35

415 次浏览

简介 图遍历是计算机科学中一项基本操作,它涉及遍历图中的所有节点。在某些情况下,可能需要按节点的字典序遍历图,这意味着按升序遍历节点。在本文中,我们将探讨两种使用 C 语言执行图的字典序 DFS 遍历的不同方法。这些方法旨在生成相同的正确输出,同时提供替代实现和视角。它们为理解各种图相关问题奠定了基础,从而实现高效的探索和分析... 阅读更多

访问给定图的所有节点所需的最小顶点集

Pranavnath
更新于 2023年8月25日 11:09:42

89 次浏览

简介 找到访问图中所有节点的最小顶点集是图论中的一个关键问题。它在各个领域都有实际应用,包括网络优化、路由算法和任务规划。在本文中,我们将探讨解决此问题的三种不同方法:深度优先搜索 (DFS)、广度优先搜索 (BFS) 和带回溯的深度优先遍历。我们将为每种方法提供详细的解释、C 语言中的代码示例和算法步骤。此外,我们将使用示例图来说明这些方法的应用,以确保所有三种策略... 阅读更多

在完全图中经过恰好 K 条边后到达起始节点的方法数

Pranavnath
更新于 2023年8月25日 11:08:40

72 次浏览

简介 在 C 语言中,可以使用不同的方法计算在完全图中经过恰好 K 条边后到达起始节点的方法数。一种方法是使用蛮力递归,其中我们检查所有可能的方法。另一种方法涉及动态规划,其中我们存储和重用中间结果以避免冗余计算。此外,存在一个数学公式,可以根据节点数和边数直接计算方法数。这些方法提供了有效的解决方案,以确定完全图中返回起始节点的方法数... 阅读更多

在执行 Q 次查询后,在给定的非连通图中查找从 K 到 N 的第一个未删除整数

Pranavnath
更新于 2023年8月25日 11:06:44

50 次浏览

简介 在执行多个查询后,在给定范围内从非连通图中找到第一个未删除整数是图论中的一个具有挑战性的问题。在本文中,我们研究了识别第一个未删除整数的任务,并提供了两种使用 C++ 解决它的方法。每种方法都提供了不同的视角,并使用了不同的算法和数据结构。该问题涉及构建一个图,将某些节点标记为已删除,然后确定指定范围内第一个未删除的整数。该图表示节点之间的连接,而已删除的节点是那些... 阅读更多

使用循环轮询调度计算服务器负载

Prabhdeep Singh
更新于 2023年8月24日 15:57:59

694 次浏览

循环轮询调度用于 CPU 调度,我们得到 M 个服务器和 N 个请求。每个请求都有到达时间和处理时间。我们必须使用循环轮询调度找到每个服务器上的负载,为此,我们将使用 C++ 编程语言实现一个程序,使用优先级队列和集合。示例 让我们通过输入输出示例了解问题 - 输入 int arrival_time[] = { 1, 2, 4, 6 }; int process_time[] = { 6, 1, 2, 2 }; int servers = 2; 输出 ... 阅读更多

生成一个包含从给定链表中节点对的平方差最大值的链表

Prabhdeep Singh
更新于 2023年8月24日 15:56:44

52 次浏览

链表是一种线性数据结构,由节点组成,每个节点在主内存中并不连续存在,而是每个节点都包含下一个节点的地址。我们得到一个偶数长度的链表,我们必须创建一个新的链表,该链表包含与给定节点一半数量的节点,并且每个节点的值包含给定链表中节点的平方差,按降序排列。示例 让我们通过输入输出示例了解问题 - ... 阅读更多

使用优先级队列查找无序数组中的第 K 小元素

Prabhdeep Singh
更新于 2023年8月24日 15:53:20

339 次浏览

优先级队列是一种基于堆的数据结构,以这样一种方式存储元素,使得最大或最小元素始终位于顶部。我们得到一个无序数组,我们必须使用优先级队列从中找到第 K 小的元素。这里,元素 k 将被给出,并且必须在 1 到给定数组的大小之间。示例 让我们通过输入输出示例了解问题 - 输入 int arr[] = {1, 5, 6, 2, 3, 6, 7, 9, 12, 15, 0, ... 阅读更多

找到重复删除第一个字符以清空给定字符串的游戏的获胜者

Prabhdeep Singh
更新于 2023年8月24日 15:51:29

64 次浏览

在这个游戏中,我们得到一个长度为 N 的字符串数组。每个字符串仅包含数字 1 到 N。游戏从第一个人开始,删除第 0 个索引的第一个字符,然后从字符串数字玩家中删除的字符将进行下一步操作。每个索引为 y 的玩家将从索引 y-1 的字符串中删除数字,然后删除数字玩家将移动到下一个。当任何玩家无法删除字符时,将赢得游戏。示例 让我们了解... 阅读更多

Java 程序用于在常数时间内查询给定字符串的旋转和第 K 个字符

Shubham Vora
更新于 2023年8月24日 16:53:07

68 次浏览

在这个问题中,程序员需要对字符串执行查询。此外,还需要旋转字符串并打印更新字符串的字符。解决问题的最佳方法是不断更新索引值,并在需要打印字符时访问字符串字符。问题陈述 – 我们得到了字符串 alpha 和包含名为 'que' 的数字对的数组。任务是在字符串 alpha 上执行数组中给出的查询。遵循以下查询操作规则。(1, a) – 进行总共左旋转... 阅读更多

Java 程序用于检查是否可以通过最多 X 次顺时针循环移位从另一个字符串形成一个字符串

Shubham Vora
更新于 2023年8月24日 16:45:26

64 次浏览

在这个问题中,我们需要通过对第一个字符串的每个字符执行最多 x 次循环移位操作来将一个字符串转换为另一个字符串。解决问题的简单方法是对 alpha1 字符串的每个字符旋转 x 次,然后我们检查它是否与 alpha2 字符串中位于相同索引处的字符匹配。第二种方法是通过查找相同索引处字符之间的循环差来解决问题。问题陈述 – 我们得到一个正整数 X。此外,我们还得到一个字符串 alpha1 ... 阅读更多

广告