![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 77
xiejianming
本来无一物,何处惹尘埃
展开
-
Clojure:算法练习的实现(一)——合并排序
*本系列文章使用Clojure来实现一些经典的算法,主要目的用于记录笔者对算法的重新学习(因此可能不会有过多的说明)合并排序(Merge Sort)产生随机数组首先我们先给出一个产生随机数组的函数,这个函数随机地产生n个从1到m的整数数组:(defn rnm [n m] "Generates a n-size int array. The number ranges from原创 2012-06-04 17:08:28 · 1606 阅读 · 0 评论 -
Clojure:算法练习的实现(二)——合并排序
在讨论合并排序(和分治法)的时候我们还会遇到寻找逆序对的问题。一个逆序对是这样子的:在一个数组a当中,当下标ia[j],那么(a[i], a[j])就称为一个逆序对(inversion)。在一个数组中寻找逆序对的数量常常会作为合并排序算法问题的一种变形。合并算法的主要操作在于merge函数,并且它具有n*log(2)n的时间复杂度。当要合并左、右两个有序的数组,merge函数会逐一从每个数组里原创 2012-06-06 22:55:44 · 1690 阅读 · 0 评论