找到关于编程的34423 篇文章

检测有向图中循环的 Python 程序

Pavitra
更新于 2019年12月20日 06:00:01

906 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述 - 给定一个有向图,我们需要检查该图是否包含循环。如果给定图包含至少一个循环,则输出为 true,否则为 false。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 # collections 模块 from collections import defaultdict # 图的创建类 class Graph():    # 构造函数    def __init__(self, vertices):       self.graph = defaultdict(list)       self.V = vertices    def addEdge(self, u, v):   ... 阅读更多

用于循环排序的 Python 程序

Pavitra
更新于 2019年12月20日 05:56:13

226 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述 - 给定一个数组,我们需要使用循环排序的概念对其进行排序。它是一种就地算法,交换通过循环的形成进行。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 def cycleSort(array):    writes = 0    # 要旋转的循环    for cycleStart in range(0, len(array) - 1):       item = array[cycleStart]       #放置项目的位置       pos = cycleStart       for i in ... 阅读更多

用于切割木棍的 Python 程序

Pavitra
更新于 2019年12月20日 05:49:45

755 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述 - 给定长度为 n 的木棍和一个包含所有小于 n 的尺寸的价格的数组。我们需要确定通过切割木棍并出售其碎片所能获得的最大值。我们将使用动态规划方法来解决问题。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 # 动态规划解决方案用于解决木棍切割问题 INT_MIN = -32767 # cut 函数 def cutRod(price, n):    val = ... 阅读更多

用于计数排序的 Python 程序

Pavitra
更新于 2019年12月20日 05:45:41

147 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述- 给定一个数组,我们需要使用计数排序的概念对数组进行排序。计数排序是一种技术,我们可以在特定范围内处理键。它涉及计算具有不同键和值的物体的数量。最后,我们进行算术计算以获得每个对象的位置并显示输出。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 def countSort(arr):    # 输出字符数组,其中将包含已排序的 arr    output ... 阅读更多

用于鸡尾酒排序的 Python 程序

Pavitra
更新于 2019年12月20日 05:38:18

316 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述 - 给定一个列表,我们需要对给定列表执行双向排序并显示列表鸡尾酒排序 - 这里的排序就像冒泡排序一样,迭代在两个方向上进行。算法首先从左到右遍历数组。在遍历期间,比较相邻的项目,并根据条件交换值。这样,最大的数字将位于数组的末尾。现在,数组将以相反的方向遍历,并根据条件,元素 ... 阅读更多

用于 Bogo 排序或排列排序的 Python 程序

Pavitra
更新于 2019年12月20日 05:33:17

185 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述 - 给定一个数组,我们需要使用排列排序的概念对其进行排序。Bogo 排序也称为排列排序,它基于生成和测试范例。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 # random 模块 import random # 排序 def bogoSort(a):    n = len(a)    while (is_sorted(a)== False):       shuffle(a) # 检查 def is_sorted(a):    n = len(a)    for i in range(0, n-1):       if (a[i] > a[i+1] ):         ... 阅读更多

用于二分插入排序的 Python 程序

Pavitra
更新于 2019年12月20日 05:28:47

1K+ 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述 - 给定一个数组,我们需要使用二分插入排序的概念对其进行排序。顾名思义,我们在这里结合了二分查找和插入排序算法的概念。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 # 排序 def insertion_sort(arr):    for i in range(1, len(arr)):       temp = arr[i]       pos = binary_search(arr, temp, 0, i) + 1       for k in range(i, pos, -1):         ... 阅读更多

用于基本欧几里德算法的 Python 程序

Pavitra
更新于 2019年12月20日 05:25:22

447 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述- 给定两个数字,我们需要计算这两个数字的 gcd 并显示它们。两个数字的最大公约数 (GCD) 是可以同时整除它们的最大的数字。在这里,我们遵循欧几里德方法来计算 gcd,即重复地除数字,并在余数变为零时停止。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 # 欧几里德算法,用于计算最大公约数 def gcd(a, b):    if a == 0 :       ... 阅读更多

用于数组旋转的 Python 程序

Pavitra
更新于 2019年12月20日 05:23:17

130 次浏览

在这篇文章中,我们将学习如何解决以下问题。问题陈述 - 给定文本和模式,我们需要打印文本中模式及其排列(或字谜)的所有出现。现在让我们观察下面的实现中的解决方案 - 示例 实时演示 # 最大值 MAX = 300 # 比较 def compare(arr1, arr2):    for i in range(MAX):       if arr1[i] != arr2[i]:           return False    return True # 搜索 def search(pat, txt):    M = len(pat)    N = len(txt)    # countP 模式计数    # countTW ... 阅读更多

用于活动选择问题的 Python 程序

Pavitra
更新于 2019年12月20日 05:14:29

918 次浏览

本文将介绍以下问题的解决方案。问题陈述:给定n个活动及其各自的开始和结束时间。我们需要选择一个人可以执行的最大活动数量,前提是他一次只能从事一项活动。变量符号:N - 活动总数;S - 包含所有活动开始时间的数组;F - 包含所有活动结束时间的数组。现在让我们观察下面的实现中的解决方案:# 贪婪算法示例 在线演示# 可执行的最大活动数…… 阅读更多

广告
© . All rights reserved.