/*堆排序(大顶堆)2011.9.14*/#include#includeusingnamespacestd;voidHeapAdjust(int*a,inti,intsize)//调整堆{intlchild=2*i;//i的左孩子节点序号intrchild=2*i+1;//i的右孩子节点序号int...
分类:
其他好文 时间:
2014-08-31 18:28:11
阅读次数:
207
1、冒泡排序:从尾致头做一遍相邻元素的两两比较,将小的元素往前交换位置,一遍下来得到第一个元素为最小的,然后在剩余的n-1个元素中再进行比较,选出第二个最小的,以此类推。不稳定、O(n²)function bubbleSort(arr){ var i,j,tmp,len=arr.length;...
分类:
其他好文 时间:
2014-08-31 17:05:21
阅读次数:
133
这个版本由历届师兄传承下来的,使用开源引擎+自己修改剪枝排序算法+开局库+后台搜索jar包:http://pan.baidu.com/s/1hqABGZM
分类:
编程语言 时间:
2014-08-31 15:39:51
阅读次数:
830
笔试面试经常涉及各种算法,本文简要介绍常用的一些算法,并用JavaScript实现。1、插入排序1)算法简介 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实...
分类:
编程语言 时间:
2014-08-31 14:23:51
阅读次数:
338
8.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n^2)。 1 #include "stdafx.h" 2 #include 3 using namespace std; 4 void Swap(int &a, int &b) 5 { 6 int temp = a; 7 a ...
分类:
其他好文 时间:
2014-08-31 10:23:51
阅读次数:
133
各种排序算法: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 #define OK 1 10 #def...
分类:
其他好文 时间:
2014-08-30 20:24:00
阅读次数:
265
大根堆排序的基本思想: 1) 先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区; 2) 再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换, 由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key; 3) 由于交换...
分类:
其他好文 时间:
2014-08-30 20:22:29
阅读次数:
168
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳....
分类:
其他好文 时间:
2014-08-30 20:21:19
阅读次数:
231
排序六:直接选择排序直接选择排序也是一种简单的排序方法,它的基本思想是:第一次从data[0]~data[n-1]中选取最小值,与data[0]交换,第二次从data[1]~data[n-1]中选取最小值,与data[1]交换,....,第i次从data[i-1]~data[n-1]中选取最小值,与...
分类:
其他好文 时间:
2014-08-30 16:19:49
阅读次数:
366
基本思想 折半插入排序是对直接插入排序的简单改进,对于直接插入排序而言,当第i-1趟需要将第i个元素插入前面的0~i-1个元素序列中时,总是需要从i-1个元素开始,逐个比较每个元素,直到找到它的位置。这显然没有利用前面0~i-1个元素已经有序这个特点,而折半插入排序则改进了这一点。 对于折半插入排序而言,当需要插入第i个元素时,它不会逐个进行比较每个元素,而是: (1)计算0~i-1索引的中...
分类:
其他好文 时间:
2014-08-29 20:10:18
阅读次数:
180