当前位置: 首页 >> Java >> java初学者常见问题之排序与查找 >> 正文

java初学者常见问题之排序与查找

2014年10月28日 20:28:03    作者:zoulinss    分类:Java     评论(0)

问:为什么我们要花大篇幅来证明一个程序是正确的?

答:为了防止错误的结果。二分查找就是一个例子。现在,你懂得了二分查找的原理,你就能把递归形式的二分查找改写成循环形式的二分查找。Knuth 教授在 1946年就发表了二分查找的论文,但是第一个正确的二分查找的程序在 1962年在出现。


问:在JAVA内建库中有没有排序和查找的函数?

答:有的。在 java.util.Arrays 中包含了 Arrays.sort() 和 Arrays.binarySearch() 方法。对于Comparable 类型它使用了 归并排序,对于基本数据类型,它使用了快速排序。因为基本类型是值传递,快速排序比归并排序更快而且不需要额外的空间。


问:为什么JAVA库不用 随机pivot方式的快速排序?

答:好问题。 因为某些程序员在调试代码时,可能需要确定性的代码实现。使用随机pivot违背了这个原则。


转载请注明出处为“本文转载于『嘉绵之恋』原地址http://www.zl266.com/post/102.html

0分/0个投票

评论

发表评论   
*昵称邮箱网址