找到 34423 篇文章 关于编程

如何使用C#中的递归检查二叉树是否为有效的二叉搜索树?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:42:20

344 次查看

如果所有左子节点都小于节点元素,所有右子节点都大于节点元素,则树是二叉搜索树。我们首先检查节点是否有值,如果节点为空,则将其视为有效的二叉搜索树并返回true。检查节点为空的结果后,我们通过传递节点、最小值和最大值来调用递归方法isValidBST。如果根值小于最小值且根值大于最大值,则我们认为它不是二叉搜索树,并且…… 阅读更多

如何使用C#中的递归反转二叉搜索树?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:39:48

1K+ 次查看

为了反转二叉搜索树,我们调用一个名为InvertABinarySearchTree的方法,该方法以节点作为参数。如果节点为空,则返回null;如果节点不为空,则我们通过传递左子节点值和右子节点值来递归调用InvertABinarySearchTree,并将右子节点值赋给左子节点,左子节点值赋给右子节点。最终输出将包含该树的镜像。示例 public class TreesPgm{ public class Node{ public int Value; public Node LeftChild; public Node ... 阅读更多

如何使用C#中的递归检查树是否对称?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:37:33

157 次查看

在递归方法中,为了找到树是否对称,我们首先检查树是否为空,如果树为空,则它是对称的;如果树不为空,我们调用一个方法issymmetricmirror。在isSymmetricMirror中,我们得到左子节点和右子节点的值,如果左子节点和右子节点都为空,则认为是对称的;如果其中一个值为空,则认为是不对称的;最后,我们通过传递左子节点和右子节点的值来递归调用issymmetric方法。示例 public class TreesPgm{ ... 阅读更多

如何使用C#中的迭代方法检查树是否对称?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:33:25

120 次查看

在迭代方法中,我们必须创建两个队列,一个队列保存左子节点的值,另一个队列保存右子节点的值。如果树为空,则它关于穿过其根节点的垂直轴是对称的。否则,检查两个子树的根节点的值是否相同。如果相同,则检查左子树和右子树是否对称。将左子节点值和右子节点值入队到queue1中,并将右子节点值和左子节点值入队到queue1中。示例 public class TreesPgm{ ... 阅读更多

如何使用C#中的自底向上方法实现硬币找零问题?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:30:45

440 次查看

CoinChangeBottomUpApproach接受3个参数作为输入:n是金额,coins数组包含硬币总数,t包含硬币总数。声明一个动态数组,用于存储先前计算的值。遍历数组并计算计算金额所需的最小硬币数。如果计算已经完成,则从动态数组中取值。时间复杂度 - O(N) 空间复杂度 - O(N) 示例 public class DynamicProgramming{ public int CoinChangeBottomUpApproach(int n, int[] coins, int t){ int[] dp = new int[100]; for (int i = 1; i < n; i++){ ... 阅读更多

如何使用C#中的自顶向下方法实现硬币找零问题?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:25:03

1K+ 次查看

CoinChangeTopDownApproach接受4个参数,n是金额,coins数组包含需要从中计算金额的硬币,t是硬币总数,dp数组将存储所有预先计算的值。如果金额为0,则返回0。如果值已计算,则从dp数组返回。如果值未计算,则递归调用CoinChangeTopDownApproach。时间复杂度 - O(N) 空间复杂度 - O(N) 示例 public class DynamicProgramming{ public int CoinChangeTopDownApproach(int n, int[] coins, int t, int[] dp){ if (n == 0){ return 0; ... 阅读更多

如何使用C#中的自底向上方法实现最少步数到一?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:22:48

172 次查看

MinimumStepstoOneBottomdownApproach接受整数n作为输入。参数n包含元素总数。初始条件检查n是否等于1。如果n等于1,则返回0。将op1、op2和op3初始化为最大值。如果n mod 3等于0,则递归调用MinimumStepstoOneBottomdownApproach并将其赋给op1,如果n mod 3等于0,则递归调用MinimumStepstoOneBottomdownApproach并将其赋给op2,否则将n减1并调用MinimumStepstoOneBottomdownApproach。最后从dp数组返回该值。时间复杂度 - O(N) 空间复杂度 - O(N) 示例 public class DynamicProgramming{ public int ... 阅读更多

如何使用C#中的自顶向下方法实现最少步数到一?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:19:00

117 次查看

MinimumStepstoOneTopdownApproach接受整数n和一个整数数组作为输入。参数n包含元素总数。初始条件检查n是否等于1。如果n等于1,则返回0。将op1、op2和op3初始化为最大值。如果n mod 3等于0,则递归调用MinimumStepstoOneTopdownApproach并将其赋给op1,如果n mod 3等于0,则递归调用MinimumStepstoOneTopdownApproach并将其赋给op2,否则将n减1并调用MinimumStepstoOneTopdownApproach。最后调用Math.Min计算三个元素的最小值…… 阅读更多

如何使用C#中的自底向上方法实现斐波那契数列?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:16:26

436 次查看

斐波那契数列是一组数字,以一或零开头,后面跟着一,然后根据以下规则进行:每个数字(称为斐波那契数)等于前两个数字的和。自底向上方法首先关注在基础层面解决较小的问题,然后将它们集成到一个完整和完整的解决方案中。时间复杂度 - O(N) 空间复杂度 - O(N) 示例 public class DynamicProgramming{ public int fibonacciBottomupApproach(int n){ int[] dpArr = new int[150]; dpArr[1] = 1; for (int i = 2; i

如何使用C#中的自顶向下方法实现斐波那契数列?

Nizamuddin Siddiqui
更新于 2021年8月17日 08:13:23

691 次查看

斐波那契数列是一组数字,以一或零开头,后面跟着一,然后根据以下规则进行:每个数字(称为斐波那契数)等于前两个数字的和。自顶向下方法侧重于将一个大问题分解成更小、更容易理解的块。空间复杂度为O(N),因为我们创建了一个额外的数组内存,其大小等于数字的大小。时间复杂度 - O(N) 空间复杂度 - O(N) 示例 public class DynamicProgramming{ public int fibonacciTopdownApproach(int n, int[] dpArr ){ if(n==0 || n ... 阅读更多

上一页 1 ... 1123 1124 1125 1126 1127 ... 3443 下一页 (共3443页)
广告
© . All rights reserved.