排序算法:(1)冒泡排序 1 $arr = array(15,8,20,50,37,85,10,5,11,4); 2 //冒泡排序 3 function maoPao($arr){ 4 for($i = 0; $i $arr[$j+1]){ 7 $t...
分类:
编程语言 时间:
2014-10-26 18:13:37
阅读次数:
158
1、折半搜索算法
(1)算法代码:
(2)复杂性分析
任何一种以比较为基础的搜索算法, 在最坏情况下所用的时间都不可能低于 (log ) n ? ,因此,也就不可能存在最坏情况下所需时间比折半搜索数量级还低的算法。
2、排序问题
2.1归并排序算法
(1)归并排序算法思想
该算法采用分治方法, 将要排序的数组分成两部分, 先对每部分进行排序,然后将两部分的...
分类:
编程语言 时间:
2014-10-25 21:35:00
阅读次数:
246
排序需要掌握的有冒泡排序,插入排序和选择排序。冒泡排序: 外层循环从后往前,内存循环从前往后到外层循环,相邻数组项两两比较,将较大的值后移。插入排序: 从排序过程的中间开始(程序从第二个数组项开始a[1]),此时队列已经拍好了一部分。此时,将后边的数组项一次插入到已经排好序的部分队列中。选择排序: ...
分类:
编程语言 时间:
2014-10-14 17:28:18
阅读次数:
188
本文介绍的STL算法中的sort排序算法,SGI STL中的排序算法不是简单的快速排序,而是交叉利用各种排序:堆排序、插入排序和快速排序;这样做的目的是提高效率,针对数据量比较大的采用快速排序,数据量比较小的可以采用堆排序或插入排序。...
分类:
其他好文 时间:
2014-09-30 20:56:30
阅读次数:
312
排序算法算是比较基本的算法,同时也是最重要的算法,涉及到的知识也比较多,下面记录一下各种排序算法的实现,包括插入排序,选择排序,快速排序,归并排序,冒泡排序等常见的排序算法:...
分类:
其他好文 时间:
2014-09-29 15:37:51
阅读次数:
130
排序是将一组对象按照一定的规则重新排列的过程。即使目前完全可以使用标准库中的排序函数,学习排序算法仍然有着较大意义: 排序算法的学习可以帮助你全面了解比较算法性能的方法; 类似的技术上能有效解决其他类型的问题; 排序算法通常是我们解决问题的第一步; 更重要的是这些算法都很经典,优雅和高效。排序在商业...
分类:
其他好文 时间:
2014-09-21 20:41:01
阅读次数:
282
TBOX提供了各种常用算法,对容器中的元素进行各种操作,这里主要介绍下排序和查找算法。 排序算法目前支持如下几种: 1. 快速排序:tb_quick_sort 2. 堆排序: tb_heap_sort 3. 插入排序:tb_bubble_sort 4. 冒泡...
分类:
其他好文 时间:
2014-09-20 19:38:49
阅读次数:
183
排序分割 代码(C)本文地址: http://blog.csdn.net/caroline_wendy排序分割, 把一个数组分为, 大于k\小于k\等于k的三个部分.可以使用快速排序的Partition函数, 进行处理, 把大于k的放在左边, 小于k的放在右边.使用一个变量记录中间的位置, 则时间复杂度为O(3n/2).代码:/*
* main.cpp
*
* Created on: 20...
分类:
其他好文 时间:
2014-09-18 22:23:04
阅读次数:
312
[QQ群: 189191838,对算法和C++感兴趣可以进来]第一个问题,查找出1000万数据中最大的100万条。 对这个问题的第一反应就是利用排序算法,排序有很多种。其中以快排用的最多。只需多次paration得到前100万即可。 还有一种思路就是建立一个100万大小的堆,然后再不断的对进来的.....
分类:
其他好文 时间:
2014-09-18 20:26:54
阅读次数:
240
将排序数组按绝对值大小排序 代码(C)本文地址: http://blog.csdn.net/caroline_wendy排序的数组有可能包含正负, 可以使用折半查找确定中值位置, 然后再使用两个指针, 顺次排序两端.解决思路是: 1.数组中的元素全为正,返回; 2.数组中的元素全为负,返回; 3.数组中有正数有负数,就用二分法查找,判断中间元素的符号 a)中间元素为正...
分类:
其他好文 时间:
2014-09-14 22:12:02
阅读次数:
524