在Web开发中,JavaScript很重要,算法也很重要。下面整理了一下一些常见的算法在JavaScript下的实现,包括二分法、求字符串长度、数组去重、插入排序、选择排序、希尔排序、快速排序、冒泡法等等。仅仅是为了练手,不保证高效与美观,或许还有Bug,有时间再完善吧。汝阳县第一中学二分法:fun...
分类:
编程语言 时间:
2014-11-19 22:05:11
阅读次数:
266
目前比较成熟的排序算法有选择排序,插入排序,希尔排序,归并排序,快速排序以及堆排序。如下表所示,比较了各个排序算法之间的优劣势。
上述算法的具体实现
选择排序:选择排序具体实现与分析
插入排序:插入排序具体实现与分析
希尔排序:希尔排序具体实现与分析
归并排序:归并排序具体实现与分析
快速排序:快速排序具体实现与分析
堆排序:堆排序具体实现与分析...
分类:
编程语言 时间:
2014-11-16 23:11:38
阅读次数:
377
现在已经把常见的9种内部排序算法都用C语言实现了,为了方便自己和大家查看,就弄了这么一个类似于导航目录的东西。
一、冒泡排序
冒泡排序(C语言版)
二、选择排序
选择排序(C语言版)
三、直接插入排序
直接插入排序(C语言版)
四、希尔排序
希尔排序(C语言版)
五、归并排序
归并排序(C语言版)
六、基数...
分类:
编程语言 时间:
2014-11-16 14:44:16
阅读次数:
211
//希尔(shell)排序void Shell_Sort(int *a,int n){ int gap,i,j,temp; for(gap=n/2;gap>0;gap/=2)/*设置排序的步长,步长gap每次减半,直到减到1*/ { for(i=gap;i=0)&&(a[j]>a[j+gap]);....
分类:
编程语言 时间:
2014-11-15 23:02:09
阅读次数:
203
插入排序的算法复杂度为O(n2),但假设序列为正序可提高到O(n),并且直接插入排序算法比較简单,希尔排序利用这两点得到了一种改进后的插入排序。一. 算法描写叙述希尔排序:将无序数组切割为若干个子序列,子序列不是逐段切割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小.....
分类:
编程语言 时间:
2014-11-13 14:35:56
阅读次数:
193
1?概述 本文对比较常用且比较高效的排序算法进行了总结和解析,并贴出了比较精简的实现代码,包括选择排序、插入排序、归并排序、希尔排序、快速排序等。算法性能比较如下图所示: 2?选择排序 选择排序的第一趟...
分类:
编程语言 时间:
2014-11-13 11:02:39
阅读次数:
340
在分析插入排序的算法性能的过程时知道,当数组规模较小或者存在较多的有序子序列时,插入排序将会在很短的时间内完成数组的排序,为此可以设计一个单调序列h[n],将数组分为多个小的序列,然后这些小的序列使用插入排序。h[n]={1,4,7,10,13,16,19……,3*x+1}。
算法实现:
void sort::shell_sort(int* a, const int n)
{
int h =...
分类:
编程语言 时间:
2014-11-12 22:59:51
阅读次数:
224
原文:总结5种比较高效常用的排序算法1概述
本文对比较常用且比较高效的排序算法进行了总结和解析,并贴出了比较精简的实现代码,包括选择排序、插入排序、归并排序、希尔排序、快速排序等。算法性能比较如下图所示: 2选择排序 选择排序的第一趟处理是从数据序列所有n个数据中选择一个最小的数据作为有序序列中的第...
分类:
编程语言 时间:
2014-11-09 12:37:13
阅读次数:
199
1. 介绍 排序算法是将一串数据按照某种特定排序方式(规则)进行排序的算法。分为内部排序和外部排序。 内部排序:指排序数据存储在内存中,依照依照某种排序方式(规则)进行排序。内部排序不适合太大的数据。内部排序的八中排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序、基数.....
分类:
编程语言 时间:
2014-11-07 16:46:05
阅读次数:
233
还有好多其他排序而且每种排序都有优化,之后会不断添加.
/**
* 文件名:SortTest.java
* 时间:2014年11月5日下午6:05:13
* 作者:修维康
*/
package chapter7;
import java.util.Arrays;
/**
* 类名:SortTest 说明:各类排序分析详解
*/
public class SortTest {
...
分类:
编程语言 时间:
2014-11-06 23:40:39
阅读次数:
500