希尔排序是由D.L.Shell于1959年提出的,所以称为希尔排序。希尔排序又称缩小增量排序,是插入排序的一种改进。
基本思想:希尔排序是基于插入排序的以下特点:待排序的序列元素数量越少排序速度越快;待排序序列的元素基本有序时排序速度越快;基于以上思想将待排序序列分为多个子序列分别进行插入排序,然后...
分类:
其他好文 时间:
2014-05-13 22:11:01
阅读次数:
272
前面我们写了常见的几种排序算法,并分析了各种算法的实现思想,及时间复杂度等情况,但由于只是分析,木有实际的数据做对比测试,所以对各个算法的效率也没有一个明确的概念,下面我们就通过具体的测试来看看同算法之间的效率差距。声明11个长度为100的元素取值范围为0到1000的序列int
length = 1...
分类:
其他好文 时间:
2014-05-13 21:46:24
阅读次数:
323
桶排序是一种效率很高的排序算法,它的时间复杂度为O(n),但桶排序有一定的限制,只有当待排序序列的元素为0到某一确定取值范围的整数时才适用,典型的例子比如成绩的排序等。
算法思想: 设待排序序列的元素取值范围为0到m,则我们新建一个大小为m+1的临时数组并把初始值都设为0,遍历待排序序列,把待排序序...
分类:
其他好文 时间:
2014-05-13 21:23:40
阅读次数:
351
顺序查找的时间复杂度是O(n),如果数组一开始是有序的,那么用顺序查找的效率是比较低的,因为二分查找等方式能够拥有更低的时间复杂度,但是如果一开始是无序的,那么顺序查找有可能比其他查找更加的快速。
二分查找主要是应用在有序的数组织中,采取的是一种分治的思想,先在数组中去中值,然后将中值...
分类:
其他好文 时间:
2014-05-13 20:27:07
阅读次数:
251
我们知道,在C#中,所有数据要么属于某个类,要么属于某个类的实例,充分体现了面向对象的思想。因此,为了表达上的方便,人们希望可以重新给已定义的操作符赋予新的含义,在特定的类的实例上进行新的解释。这就需要通过操作符重载来解决。
使用成员方法重载操作符 C#操作符重载总是在类中进行声明,并且通过调用类的...
分类:
其他好文 时间:
2014-05-13 19:09:09
阅读次数:
311
const关键字的基本思想就是将一个变量变成常量,试图从语言设计者的角度去分析引入该关键字的动机。我猜测原因如下:1)提醒程序员,某些值是常量,如PI。或该值在程序运行期间是不变的,防止程序员误修改。对于多模块开发,头文件引用复杂的系统来说,这是很重要的,如果不能在编译期阻止常量被误修改,那么这些修...
分类:
编程语言 时间:
2014-05-13 18:55:51
阅读次数:
390
本文介绍的是图的非负权值的单源最短路径问题。问题的提出是,对于有权图D,t提供源点v,要找到从v到其他所有点的最短路径,即单源最短路径问题,在本文中,解决这一问题,是普遍比较熟悉的Dijkstra算法。
算法核心思想参见维基。简而言之,设集合S存放已经求出了最短路径的点。初始状态S中只有一个点v0,...
分类:
其他好文 时间:
2014-05-13 16:49:37
阅读次数:
284
刚刚看了学院的CCNA视频教程,下面做个简单记录:1、思科网络分层:a、作用:个人干个人的事情,大家协作起来好做事。谁出了问题,我就去找谁,不用胡子、眉毛一把抓。b、分成三层:接入层、分配层、核心层。c、网络分层是逻辑上的,不是物理上的d、网络分层一般是在设计网络时..
分类:
其他好文 时间:
2014-05-13 04:48:04
阅读次数:
392
多线程协同线程间的通讯:我们对资源的操作动作不同,比如说两个卡车一个拉煤一个装煤。但是他们共享了一个资源。怎么样把这个资源拿出来?怎样把车装满?这个资源当然是一个类,他里面的组成元素就是对象!!现在我们就要有操作对象的思想了,我用对象把这车装满,现在一车装..
分类:
编程语言 时间:
2014-05-13 02:42:52
阅读次数:
452
1.是什么?简单说,是从安全角度关注日常信息系统的运行维护工作。具体来说,安全运维基于传统的网络、主机、终端、视频等运维工作,从中获取原始的数据与信息。与传统运维工作的共性在于,都是基于需求/事件/故障触发,两者都会从管理和技术角度关注事件/故障的产生原因、解决..
分类:
其他好文 时间:
2014-05-13 02:20:18
阅读次数:
235