我不是 SPARK 的用户。我只是想了解语言的功能。
例如,可以使用 SPARK 来证明 Quicksort 实际上对给它的数组进行排序吗?
(希望看到一个例子,假设这很简单)
我不是 SPARK 的用户。我只是想了解语言的功能。
例如,可以使用 SPARK 来证明 Quicksort 实际上对给它的数组进行排序吗?
(希望看到一个例子,假设这很简单)
是的,它可以,虽然我不是特别擅长 SPARK 证明(还)。以下是快速排序的工作原理:
0
或1
长度,那么你是排序的;如果2
然后检查并可能更正排序并对其进行排序;否则继续。Less
Greater
– 与分区中的第一项交换。Greater
– 空操作。Equal
— 与 的第一项Less
交换,与 的第一项交换Greater
。Less
&Greater
分区。Less
& Equal
& Greater
,如果过程将输入重新排列in out
到该顺序。以下是您将如何做事:
0
和1
案例为真,2
物品的处理,(L,E,G)
,它们是小于/等于/大于枢轴的元素的计数[这可能是一个幽灵子程序],L
++E
等于G
你的集合的长度,(L,E,G)
元组,输出符合L
小于枢轴的E
项目,然后是相等的项目,然后G
是更大的项目。那应该这样做。[IIUC]