博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
折半插入排序C/C++
阅读量:5116 次
发布时间:2019-06-13

本文共 773 字,大约阅读时间需要 2 分钟。

void BinaryInsertionSort(int a[],int left,int right);//对数组a[left]到a[right]段数据从小到大排序void BinaryInsertionSort(int a[],int left,int right){    int low,middle,high;    int temp;    int i,j;    //待排元素left+1 ---> right 共right - left个,a[left]默认有序    for (i=left+1;i<=right;i++){            temp = a[i];        low = left;                high = i - 1;    //i-1为已排好序列的右边界        while(low<=high){            middle = (low + high) / 2;            if (a[i]
=low;j--) a[j+1] = a[j]; a[low] = temp; }}/*算法分析: time-complexity: 折半插入排序在查找插入位置时花费的时间很少,但移动次数与直接插入排序次数一样, 最差情况下时间复杂度为O(n2),最好情况下为O(nlog2n); 平均情况下为O(n2); space-complexity: O(1); 算法不稳定.*/

 

转载于:https://www.cnblogs.com/daemon94011/p/8870096.html

你可能感兴趣的文章
详细解读MySQL中的权限
查看>>
HDOJ 1698 Just a Hook(线段树成段更新)
查看>>
SQL Server 内存中OLTP内部机制概述(二)
查看>>
Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
查看>>
php yii框架使用MongoDb
查看>>
cocos2dx中菜单menu 和 menuItem
查看>>
容器List之ArrayList详解
查看>>
C#面向对象三大特性
查看>>
GitHub的实现是否是基于此语言的支持网络编程性呢?
查看>>
四、java多线程核心技术——synchronized同步方法与synchronized同步快
查看>>
[USACO12OPEN]书架Bookshelf
查看>>
bzoj 2437: [Noi2011]兔兔与蛋蛋
查看>>
机器学习基石笔记-Lecture 14 Regularization
查看>>
Vmware报错:此主机支持IntelVTx 但IntelVTx处于禁用状态
查看>>
hive血缘关系之输入表与目标表的解析
查看>>
C#—接口和抽象类的区别?
查看>>
过了一年,再来回顾一下去年到现在,这一年多,作为初级前端小白的坎坷成长历程...
查看>>
201521460005 实验五
查看>>
NMET PEER DEPENDENCY解决方法
查看>>
【POJ 1988】 Cube Stacking (带权并查集)
查看>>