Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

冒泡排序优化版,性能近乎翻倍

冒泡排序优化版,性能近乎翻倍

原始的冒泡排序相对而言是非常耗时的,即使一个数组经过几轮交换已经变的有序了,例如[2,1,3,4,5,6,7]这个数组,经过第一轮,已经变成有序的了,但顽固的冒泡还是要继续进行没有营养的两两比较,从而牺牲了时间。如果用一个flag来判断一下,当前数组是否已经有序,如果有序就退出循环,这样可以明显的提高冒泡排序的表现~由于冒泡排序的时间复杂度为O(n*n)所以当数据越多的时候,越慢,非常不适合大数据的排序,所以我们测试的时候也是用的长度为800的随机数组。代...
Java的并发策略

Java的并发策略

首先,说起并发技术,都要先知道IO密集型和CPU密集型。那么这两种密集型的概念是怎样的呢?简单的说,就是凡事涉及大量计算的,而少数时间只花在读取IO数据的为CPU密集型,因为大量的运行只有在CPU才能进行。而凡是只需要CPU一个命令,实现如内存或硬盘的IO读写操作,而CPU根本无需或者少量计算的,就是属于IO密集型。或者这么说,如果任务被阻塞的时间少于50%,则这些任务是CPU密集型的,若任务被阻塞的时间大于执行的时间,即该任务是IO密集型的。接下来我们就...
迅雷2014校招笔试题之多线程编程

迅雷2014校招笔试题之多线程编程

题意:大体如下:Android中Activity开启两个线程,一个Produce线程,一个Customer线程,共享Integer[10]数组,Produce线程不断向数组中写入1000,写满后等待,Customer线程不断清空数组内容,当数组全被清空后,通知Produce线程写入数据,Activity要及时刷新当前Integer数组内容size。分析:从题意可知,在Java方面,这里涉及到两个线程共享一个数组,也就是说当一个线程在运行操作数组时,另一个线...
Golang通过Thrift框架完美实现跨语言调用

Golang通过Thrift框架完美实现跨语言调用

目录:一、开发前准备1、安装golang的Thrift包:2、产生协议库:3、生成开发库二、go语言实现1、服务器端2、客户端程序三、Java版实现1、Java服务器版2、Java客户端版 每种语言都有自己最擅长的领域,Golang 最适合的领域就是服务器端程序。 做为服务器端程序,需要考虑性能同时也要考虑与各种语言之间方便的通讯。采用http协议简单,但性能不高。采用TCP通讯,则需要考虑封包、解包、粘包等等很多因素,而且想写个高效的TCP服务,也很...
阿里巴巴2014笔试题选解

阿里巴巴2014笔试题选解

阿里巴巴笔试题选解--9月22日,阿里巴巴北邮站小题:1、有三个结点,可以构成多少种树形结构?2、一副牌52张(去掉大小王),从中抽取两张牌,一红一黑的概率是多少?编程题:3、设计一个最优算法来查找一n个元素数组中的最大值和最小值。已知一种需要比较2n次的方法,请给一个更优的算法。情特别注意优化时间复杂度的常数。4、已知三个升序整数数组a[l], b[m]和c[n]。请在三个数组中各找一个元素,是的组成的三元组距离最小。三元组的距离定义是:假设a[i]、b...
腾讯2014软件开发笔试题目

腾讯2014软件开发笔试题目

腾讯2014软件开发笔试题目-----9月21日,腾讯2014软件开发校招-简答题-广州简答题:1、请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在 中所处的位置和变化。队伍可能随时有人加入和退出,当有人退出影响到用户的位置排名时需要即时反馈到用户。2、A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。(博主能力有限,不是所有题目都会求解,第1题不是我的擅长,这里贴出来让大家知道腾讯的考题。我的重点放在第2题上面!)第2题 题解(个人见...
人人校招笔试题

人人校招笔试题

人人校招笔试题---9月22日,人人校招笔试题1、给定一个有序数组a,长度为len,和一个数X,判断A数组里面是否存在两个数,他们的和为X,bool judge(int *a, int len, int x),存在返回true,不存在返回false2、给定有n个数的数组a,其中超过一半的数为一个定值,在不进行排序、不开设额外数组的情况下,以最高效的算法找到这个数:int find(int *a, int n)题解:(转载请联系博主,个人看法,仅供参考!)1...
在线C语言编译器/解释器

在线C语言编译器/解释器

本文介绍两个C语言在线解释器/编译器,这些工具可以提高代码片段检测方便的工作效率,并可以保证这些代码的正确性,而且还可以和别人一起编辑/分享之间的代码,这样可以共同分析代码并相互协助完成代码段的检查。1.CodepadCodepad([url=http://codepad.org/]http://codepad.org/[/url])是一个简单的在线IDE编译器,适用于团队协作工作,帮助代码生成一个简短的URL,这样就可以和其他人共享.Codepad操作起...
2014百度校招笔试题之动态链接库&静态链接库详解

2014百度校招笔试题之动态链接库&静态链接库详解

2014百度校招笔试题之动态链接库&静态链接库详解1.什么是静态连接库,什么是动态链接库静态链接库用通俗的话讲,静态库就是将代码编译到一个二进制文件下(通常扩展名为.LIB).然后客户端调用程序,只需要包含相关的.h文件及LIB库文件一起链接到exe文件中.可执行程序发布后,不再需要该.lib文件了.动态链接库最终将编译出.lib与.dll文件. 注意.lib文件与上面的静态库虽然扩展名相同,但有本质的区别.动态库中的lib文件是动态库的引入库. ...
<< 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 >>