Java的算法讲解以及案例!
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,java算法就是采用Java语言来实现解决某一问题的清晰指令。
算法的特征:
输入性:有零个或多个外部量作为算法的输入
输出性:算法产生至少一个量作为输出
确定性:算法中每条指令清晰,无歧义
有穷性:算法中每条指令的执行次数有限,执行每条指令是时间也有限
可行性:算法原则上能够精确的运行,而且人们用纸和笔做有限次运算后即可完成
程序:算法用某种程序设计语言的具体实现,程序可以不满足又穷性
算法的四个标准:
正确性:在合理的数据输入下,能在有限时间内得出正确的结果
可读性:应易于人的理解,易于调试
健壮性:具备检查错误和对错误进行适当处理的能力
效率:算法执行时所需计算机资源的多少,包括运行时间和存储空间
算法的描述形式:1、自然语言2、算法框图法3、伪代码语言4、高级程序设计语言
算法设计的一般过程:
1、理解问题
2、预测所有可能是输入
3、在精确解和近似解间做选择
4、确定适当的数据结构
5、算法设计技术
6、描述算法
7、跟踪算法
8、分析算法的效率
9、根据算法编写代码
下面是Java实现的一个算法:冒泡排序
/**
冒泡排序
*/
public class BubbleSort1 {
public static void BubbleSort(int[] arr) {
boolean flag = true;
while(flag){
int temp;//定义一个临时变量
for(int i=0;i
for(int j=0;j
if(arr[j+1]
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
flag = true;
}
}
if(!flag){
break;//若果没有发生交换,则退出循环
}
}
}
}
public static void main(String[] args) {
int arr[] = new int[]{1,6,2,2,5};
BubbleSort.BubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
}
以上就为大家介绍的“Java的算法讲解以及案例”的内容,希望能够给大家带来帮助。
本文来自千锋教育,转载请注明出处。
Java的算法讲解以及案例!相关推荐
- java 排序算法 讲解_java实现排序算法之冒泡排序法详细讲解
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交 ...
- java python算法_用Python,Java和C ++示例解释的排序算法
java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...
- Learning to Rank 中Listwise关于ListNet算法讲解及实现
[学习排序] Learning to Rank 中Listwise关于ListNet算法讲解及实现 版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习, ...
- Sklearn:sklearn.preprocessing之StandardScaler 的transform()函数和fit_transform()函数清晰讲解及其案例应用
Sklearn:sklearn.preprocessing之StandardScaler 的transform()函数和fit_transform()函数清晰讲解及其案例应用 目录 sklearn.p ...
- TF-IDF算法讲解
什么是 TF-IDF 算法? TF(全称TermFrequency),中文含义词频,简单理解就是关键词出现在网页当中的频次. IDF(全称InverseDocumentFrequency),中文含义逆 ...
- [Python图像处理] 二十六.图像分类原理及基于KNN、朴素贝叶斯算法的图像分类案例
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- Java入门算法(动态规划篇2:01背包精讲)
本专栏已参加蓄力计划,感谢读者支持❤ 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算 ...
- Java入门算法(数据结构篇)丨蓄力计划
本专栏已参加蓄力计划,感谢读者支持 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算法 ...
- Java入门算法(贪心篇)丨蓄力计划
本专栏已参加蓄力计划,感谢读者支持 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算法 ...
最新文章
- [ASP.NET] Session 详解
- 排序二叉树BST(binary search/sort tree)
- mysql多字段修改update_MySQL ------ 触发器(TRIGGER)(二十七)
- [转]基于 aspnet 的自动合并输出js和css的解决方案
- mysql 存储过程 循环结构 命名_mysql存储过程----循环结构
- labview my_fpga开发套件下载_LabVIEW面向对象的ActorFramework(1)
- android webview测速,学习分享,echarts模拟宽带测速效果 附Demo演示地址!!
- java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码
- 【java学习之路】(java SE篇)012.网络编程
- DH参数法 例题 机器人学
- 安装stm32芯片包
- 台式计算机睡眠时间是什么意思,电脑电源选项中的睡眠和休眠各是什么意思,什么作用?...
- 【python 目标检测】基于深度学习的道路破损检测|yolov5|VOC
- 【Arch】Android 7 Nougat源码目录结构分析
- Hyper-V安裝筆記
- 交换友情链接要怎么做才能完美
- 电脑控制手机教你实现多个手机同时自动安装卸载软件
- HUAWEI nova 2评测:青春风无敌,拍照能力强大
- getElementByTagName
- 打印机无法确认设备和计算机之间的连接,打印机和电脑连接不上怎么办_电脑怎么连接不上打印机设备-win7之家...
热门文章
- 本篇文档介绍如何手动在ECS实例上部署Java web项目
- 十大经典排序算法之选择排序及其优化
- The POM for com.ruifeng.tjtaxiqy:shiro:jar:0.0.1-SNAPSHOT is missing, no dependency information avai
- 数据结构与算法之二分查找法
- Dubbo——Dubbo协议整合Jackson序列化解决方案
- Windows——Modern Standby(现代待机) S0改Suspend to RAM(待机到内存)S3睡眠解决方案(以机械革命F1 i5-11300H为例)
- 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——自编解析与答案
- C#——事件(Event)DEMO[闻鸡起舞]
- Python——科赫曲线绘制
- 联系 Contact