上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 159 下一页
摘要: 七、用go语言,设计一个 O(n)时间的算法,对于一个给定的包含n个互异元素的集合 S 和一个正整数k≤n,该算法能够确定 S 中最接近中位数的k个元素。 文心一言: 要设计一个 O(n) 时间的算法来找到集合 S 中最接近中位数的 k 个元素,我们可以使用快速选择算法(QuickSelect)。该 阅读全文
posted @ 2023-09-26 18:24 福大大架构师每日一题 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 六、用go语言,对一个包含n个元素的集合来说,k分位数是指能把有序集合分成k个等大小集合的第k-1个顺序统计量。给出一个能找出某一集合的k分位数的 O(nlgk)时间的算法。 文心一言: 要找到一个集合的k分位数,可以使用Go语言编写以下算法: package main import ( "fmt" 阅读全文
posted @ 2023-09-25 14:32 福大大架构师每日一题 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 五、用go语言,假设你已经有了一个最坏情况下是线性时间的用于求解中位数的“黑箱”子程序。设计一个能在线性时间内解决任意顺序统计量的选择问题算法。 文心一言: 为了在线性时间内解决任意顺序统计量的选择问题,我们可以使用一个基于快速选择算法的方法。快速选择算法是基于快速排序的思想,可以在平均情况下以线性 阅读全文
posted @ 2023-09-24 16:09 福大大架构师每日一题 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 2023-09-23:用go语言,假设每一次获得随机数的时候,这个数字大于100的概率是P。 尝试N次,其中大于100的次数在A次~B次之间的概率是多少? 0 < P < 1, P是double类型, 1 <= A <= B <= N <= 100。 来自左程云。 答案2023-09-23: 首先, 阅读全文
posted @ 2023-09-23 14:55 福大大架构师每日一题 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 四、用go语言,对一个包含n个元素的集合,假设一个算法只使用比较来确定第i小的元素,证明:无需额外的比较操作,它也能找到第 i-1 小的元素和第 n-i大的元素。 文心一言: 在这个问题中,我们要使用一个称为"QuickSelect"的算法,这是一个用于在未排序的列表中查找第k小元素的算法。该算法基 阅读全文
posted @ 2023-09-22 17:35 福大大架构师每日一题 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 三、用go语言,假设所有元素都是互异的,说明在最坏情况下,如何才能使快速排序的运行时间为O(nlgn)。 文心一言: 快速排序是一种基于分治策略的排序算法,其平均时间复杂度为O(nlgn)。在最坏情况下,快速排序的时间复杂度为O(n^2),这是因为当输入数组已经排序或接近排序时,快速排序的性能会退化 阅读全文
posted @ 2023-09-21 10:43 福大大架构师每日一题 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能 如果n是奇数,中心点唯一,比如 a b c d e f g h i e是中心点,依次打印 : e f i h g d a b c 如果n是偶数,中心点为最里层2*2的右下点 比如 a b c d e f g h 阅读全文
posted @ 2023-09-20 10:57 福大大架构师每日一题 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 一、用go语言,在算法 SELECT 中,输人元素被分为每组 5 个元素。如果它们被分为每组 7个元素,该算法仍然会是线性时间吗?证明:如果分成每组 3 个元素,SELECT 的运行时间不是线性的。 文心一言: 在算法分析中,一个算法的运行时间是否线性依赖于其输入数据的大小。线性时间意味着算法的运行 阅读全文
posted @ 2023-09-19 13:23 福大大架构师每日一题 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 四、用go语言,假设用RANDOMIZED-SELECT 去选择数组 A=(3,2,9,0,7,5,4,8,6,1)的最小元素,给出能够导致 RANDOMIZED-SELECT最坏情况发生的一个划分序列。 文心一言: 首先,让我们澄清一下 "RANDOMIZED-SELECT" 这个术语。我猜您可能 阅读全文
posted @ 2023-09-18 15:18 福大大架构师每日一题 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 三、用go语言,给出 RANDOMIZED-SELECT的一个基于循环的版本。 文心一言: 在循环中实现 RANDOMIZED-SELECT 的一个版本可以如下所示。这个版本使用 Go 语言编写,利用随机化来选择一个元素,并在循环中不断地调整选择的元素,直到找到目标元素。 package main 阅读全文
posted @ 2023-09-17 20:51 福大大架构师每日一题 阅读(43) 评论(0) 推荐(1) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 159 下一页