Java算法简介及排序剖析

news/2024/7/20 16:04:46 标签: java, 移动开发, 内存管理


本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!


       从小白晋升,一路走来;从helloworld,到JFrame,再到Android;从城外小子,到内城的阶梯,站在高耸入云的阶梯上向前望;从迷茫的时代,到苦逼的时代,再到自信的时代;这些路有些艰难,有些坎坷,但--还算顺利;有过困惑,有过烦恼,有过委屈,但一路向前,风雨无阻;前言是遥远的,前方是未知的,前方是广阔的,前方是美好的;我要呼吁广大IT同胞们,让我们向着更遥远、更广阔、更美好的充满未知的未来出发吧!去贪婪的吮吸每一滴“蜜露”,用知识的精髓武装自己,斗志昂扬一如既往的用兴趣开路,去探寻属于自己的一片天地!


       今天冒昧给大家讲讲算法的故事。


       在从简单的逻辑写起,从完成一个控件、多个控件,走了一条线程、一条进程;到完成一个模块、若干模块,实现界面之间的交互、控件自定义;再到缓存、数据库、网络交互,内存管理、系统调优、架构扩展;最后又回归逻辑、研究算法,研究层与层之间的调用、依赖,抽象、继承、接口、反射等一些基础的概念;简而言之,把最简单的东西做到极致,那牛逼了!


       百度解释:算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度。)
       接下来依次讲几个算法,冒泡、选择……

冒泡算法原理:两个两个的比较,其中较大的与较小的换位,每次都能排出剩下数中的最大数,放剩下数的最后;最终排出整齐的数列。 时间复杂度:倒序最大,Cmax=n*(n-1)/2,为T(n^2);正序最小,Cmin=n,为T(n);按实际情况来算。        

 

public void testBubbleSort() {
		int[] sortArray = { 4, 7, 9, 3, 6, 8 };
		for (int i = 0; i < sortArray.length - 1; i++) {
			boolean isSort = false;
			for (int j = 0; j < sortArray.length - 1 - i; j++) {
				if (sortArray[j] > sortArray[j + 1]) {
					int temp = sortArray[j];
					sortArray[j] = sortArray[j + 1];
					sortArray[j + 1] = temp;
					isSort = true;
				}
			}
			if (!isSort)
				break;
		}
		System.out.println(Arrays.toString(sortArray));
	}

 

        


 

转载于:https://www.cnblogs.com/pangblog/p/3268843.html


http://www.niftyadmin.cn/n/791594.html

相关文章

参数修饰符ref,out ,params的区别

参数修饰符ref,out ,params的区别 C#中有三个关键字-ref,out ,params,可是这三个之间的区别你都明白了吗?那么我们就来认识一下参数修饰符ref,out ,params吧&#xff0c;还有它们的区别。 第一&#xff1a; params一个可以让方法&#xff08;函数&#xff09;的拥有可变参数的…

Python中itertools模块

itertools模块包含创建有效迭代器的函数&#xff0c;可以用各种方式对数据进行循环操作&#xff0c;此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器&#xff08;如生成器和生成器表达式&#xff09;的函数联合使用。 chain(iter1, iter2, ..., iterN)&a…

5ucms的评论列表该怎么写

查看所有评论  <a href"{sys:plusurl}comment/?id{field:id}">查看所有评论</a>  <linkhref"/plus/guestbook/Images/style.css"rel"stylesheet"type"text/css"/>  当前文章最新评论&#xff0c;JS调用  &…

SharePoint 2010 访问WebService 增删改列表

直接上代码&#xff0c;我解释很清楚了&#xff1a; SPListService.Lists listService new SPListService.Lists();/*凭据用默认即可*/listService.Credentials System.Net.CredentialCache.DefaultCredentials;/*记住&#xff0c;虽然你引用的web引用路径是子网站&#xff0…

点点滴滴-ConfigurationManager.AppSettings

在写程序的配置文件&#xff0c;里面添加了几个配置&#xff0c;下面是appSettings节点的设置 <appSettings><add key"StyleFolder" value"C:\CustomRequired"/><add key"StyleDic" value"C:\CustomRequired\Dic\908.mdb&qu…

小程序大智慧,sqlserver 注释提取工具

开篇背景 我习惯在写表的创建脚本时将注释直接写在脚本里&#xff0c;比如 /*账套*/ CREATE TABLE [dbo].[AccountingBook] ([IDNO] NVARCHAR (255) NOT NULL, /*ID*/[BH] NVARCHAR (255) NULL, /*业务编号*/[Name] NVARCHAR (255) NOT NULL, /*名称*/[Decription] NVAR…

页面报错:发现不明确匹配

今天发布网站&#xff0c;在vs上运行良好。可是发布到iis上以后&#xff0c;有一个页面报错&#xff1a;“发现不明确匹配”。 情况1. 查找你的aspx页面里面的控件是否有和你的aspx.cs里面的类变量重名&#xff08;不区分大小写&#xff09;的ID具体如下: aspx页面中:<input…

开始博客生涯

之前混迹在各种博客和技术论坛&#xff0c;总是充当着观众的角色&#xff0c;特别感谢喜欢把自己的技术与大家共享的大牛们。今天开始我打算在CSDN上开始我的博客生涯&#xff0c;内容会不定期的更新一些自己的原创文章与转载其他大牛的文章。在此MARK一下以激励自己。