此算法将获取一个数组并洗牌数组的内容。它将生成数组元素的随机排列。为了解决此问题,我们将从最后一个索引开始交换元素,以随机生成数组中的索引。输入和输出输入:一个整数数组:{1, 2, 3, 4, 5, 6, 7, 8} 输出:数组内容的洗牌:3 4 7 2 6 1 5 8(下一次运行输出可能不同)算法randomArr(array, n)输入:数组,元素数量。输出:洗牌数组的内容。开始 for i := n – 1 down to 1, do ... 阅读更多
给定字符串列表按字母数字顺序或字典顺序排序。例如,对于这些单词:Apple、Book、Aim,它们将按 Aim、Apple、Book 的顺序排序。如果有一些数字,则可以将它们放在字母字符串之前。输入和输出输入:一个字符串列表:Ball Apple Data Area 517 April Man 506 输出:排序后的字符串:506 517 Apple April Area Ball Data Man算法sortStr(strArr, n)输入:所有字符串的列表,元素数量。输出 - 按字母数字排序的字符串。开始 for round := 1 to n-1, do for i := 0 to n-round, do ... 阅读更多
水库抽样是一种随机算法。在此算法中,从包含 n 个不同项目的列表中选择 k 个项目。我们可以通过创建一个大小为 k 的数组作为水库来解决它。然后从主列表中随机选择一个元素并将其放入水库列表中。一旦选择了一个项目,它将不会在下一次被选择。但是这种方法效率不高,我们可以通过这种方法提高复杂度。在水库列表中,从列表中复制前 k 个项目,现在从列表中的第 (k+1) 个数字开始,逐个... 阅读更多