程序
文章平均质量分 74
sebastian_t
这个作者很懒,什么都没留下…
展开
-
归并排序
归并排序原创 2015-11-22 21:19:27 · 329 阅读 · 0 评论 -
快速排序
正如它的名字一样,快速排序实在实践中最快的已知排序算法,它的平均运行时间是O(N log N)。快速排序的基本思想就是选取一个枢纽元,将所有小于它的元素都放在它的左边,所有大于它的元素都放在它的右边。此时此元素位于它的最终位置。然后对左边和右边的元素执行相同的操作。 就其对S这个数组的具体操作步骤来说,可以分为下列简单的四步: 1.如果S中的元素个数是0或1个,则返回(0个或1个元素可是为有序)原创 2015-11-22 21:21:22 · 300 阅读 · 0 评论 -
关于欧几里得算法和拓展欧几里得算法
欧几里得算法 拓展欧几里得算法原创 2015-11-22 21:13:30 · 551 阅读 · 0 评论 -
寻找单身狗
给出2 * n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字; 对于该问题,我们直观得想到,暴力遍历整个数组,逐一得排查数组元素,直到找到那个单独的数字。这个方法也很容易实现,但是其时间复杂度为O(N^2),其效率并不高,不宜采用。 另一种方法也很容易想到,我们可以先对整个数组排序,然后遍历一次数组,便可以找到那个单独的书。其时间复杂度为O(NlogN)。是一种不错的方原创 2015-11-22 21:22:18 · 302 阅读 · 0 评论 -
关于几种简单的排序算法-插入、冒泡、选择
插入排序 插入排序正如它的名字一样,假如有一个已经排序过的数组,现在我们有一个元素,将它插入在数组的合适位置,使得数组仍然是有序的。 对于一个无序数组,我们可以使用减治法实现插入排序。假设我们有一个数组arr,我们先认为第一个元素是有序的(一个元素当然有序。。。),然后取后一个元素,将它插入到合适的位置(其他元素可以后移来放在合适的位置)(这里有一点可能没有讲明,元素插入的原创 2015-11-22 21:18:03 · 387 阅读 · 0 评论