静态查找设置哨兵,可以减少比较次数,效率会有所提高。静态查找算法简单,效率较低 1 package com.gxf.search; 2 3 /** 4 * 静态查找实现 5 * @author xiangfei 6 * 7 */ 8 public class StaticSearch { ...
分类:
其他好文 时间:
2014-11-12 13:40:32
阅读次数:
195
这些形象的小图片给我们最直观的印象排序算法显神威方法其实很简单:分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。这里可以用两个变量i和j,分别指向序列最左边和最右边。我们为这两个变量起个好听的名字“哨兵...
分类:
编程语言 时间:
2014-11-06 00:38:23
阅读次数:
331
JAVA没法玩耍系列,这道题限时10ms,所以我也不知道到底对不对,反正示例是正确的贪心法,对于我来说很绕的贪心法。分为下面的步骤在满油情况下能够跑到的所有加油站中搜索1. 如果该加油站比当前加油站要便宜,则加油到刚好跑到这个加油站,继续下一轮2. 如果到了终点,则加油到终点,用哨兵保证这一点3. ...
分类:
其他好文 时间:
2014-11-03 20:46:30
阅读次数:
213
1.插入排序—直接插入排序(Straight Insertion Sort)基本思想: 将一个记录插入到已经排序好的有序表中,从而得到一个新、记录数增1的有序表。即:先将序列的第一个记录看成是一个有序的子序列,然后从第二个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时...
分类:
编程语言 时间:
2014-11-01 17:27:53
阅读次数:
165
常见经典排序算法
1.希尔排序
2.二分插入法
3.直接插入法
4.带哨兵的直接排序法
5.冒泡排序
6.选择排序
7.快速排序
8.堆排序
一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)
/*?S...
分类:
编程语言 时间:
2014-10-22 07:41:06
阅读次数:
298
迭代器iterator的作用类似于指针。iterator只有针对制定的容器才有效。例如:vector vec;vector::iterator itr; 对于vec来说,itr.begin()指向的是vec的第一个元素。Itr.end()指向的是vec的最后一个元素的下一个元素(作为哨兵,实际不存在...
分类:
编程语言 时间:
2014-10-19 19:54:16
阅读次数:
211
常见经典排序算法
1.希尔排序
2.二分插入法
3.直接插入法
4.带哨兵的直接排序法
5.冒泡排序
6.选择排序
7.快速排序
8.堆排序
一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)
/* Shell 排序法 */
#include
void sort(int v[]...
分类:
编程语言 时间:
2014-10-18 15:34:08
阅读次数:
226
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2014-10-12 16:54:48
阅读次数:
274
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-09-04 22:13:10
阅读次数:
337
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-09-03 22:35:27
阅读次数:
313