算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,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的算法讲解以及案例!相关推荐

  1. java 排序算法 讲解_java实现排序算法之冒泡排序法详细讲解

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交 ...

  2. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  3. Learning to Rank 中Listwise关于ListNet算法讲解及实现

     [学习排序] Learning to Rank 中Listwise关于ListNet算法讲解及实现             版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习, ...

  4. Sklearn:sklearn.preprocessing之StandardScaler 的transform()函数和fit_transform()函数清晰讲解及其案例应用

    Sklearn:sklearn.preprocessing之StandardScaler 的transform()函数和fit_transform()函数清晰讲解及其案例应用 目录 sklearn.p ...

  5. TF-IDF算法讲解

    什么是 TF-IDF 算法? TF(全称TermFrequency),中文含义词频,简单理解就是关键词出现在网页当中的频次. IDF(全称InverseDocumentFrequency),中文含义逆 ...

  6. [Python图像处理] 二十六.图像分类原理及基于KNN、朴素贝叶斯算法的图像分类案例

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  7. Java入门算法(动态规划篇2:01背包精讲)

    本专栏已参加蓄力计划,感谢读者支持❤ 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算 ...

  8. Java入门算法(数据结构篇)丨蓄力计划

    本专栏已参加蓄力计划,感谢读者支持 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算法 ...

  9. Java入门算法(贪心篇)丨蓄力计划

    本专栏已参加蓄力计划,感谢读者支持 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算法 ...

最新文章

  1. [ASP.NET] Session 详解
  2. 排序二叉树BST(binary search/sort tree)
  3. mysql多字段修改update_MySQL ------ 触发器(TRIGGER)(二十七)
  4. [转]基于 aspnet 的自动合并输出js和css的解决方案
  5. mysql 存储过程 循环结构 命名_mysql存储过程----循环结构
  6. labview my_fpga开发套件下载_LabVIEW面向对象的ActorFramework(1)
  7. android webview测速,学习分享,echarts模拟宽带测速效果 附Demo演示地址!!
  8. java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码
  9. 【java学习之路】(java SE篇)012.网络编程
  10. DH参数法 例题 机器人学
  11. 安装stm32芯片包
  12. 台式计算机睡眠时间是什么意思,电脑电源选项中的睡眠和休眠各是什么意思,什么作用?...
  13. 【python 目标检测】基于深度学习的道路破损检测|yolov5|VOC
  14. 【Arch】Android 7 Nougat源码目录结构分析
  15. Hyper-V安裝筆記
  16. 交换友情链接要怎么做才能完美
  17. 电脑控制手机教你实现多个手机同时自动安装卸载软件
  18. HUAWEI nova 2评测:青春风无敌,拍照能力强大
  19. getElementByTagName
  20. 打印机无法确认设备和计算机之间的连接,打印机和电脑连接不上怎么办_电脑怎么连接不上打印机设备-win7之家...

热门文章

  1. 本篇文档介绍如何手动在ECS实例上部署Java web项目
  2. 十大经典排序算法之选择排序及其优化
  3. The POM for com.ruifeng.tjtaxiqy:shiro:jar:0.0.1-SNAPSHOT is missing, no dependency information avai
  4. 数据结构与算法之二分查找法
  5. Dubbo——Dubbo协议整合Jackson序列化解决方案
  6. Windows——Modern Standby(现代待机) S0改Suspend to RAM(待机到内存)S3睡眠解决方案(以机械革命F1 i5-11300H为例)
  7. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——自编解析与答案
  8. C#——事件(Event)DEMO[闻鸡起舞]
  9. Python——科赫曲线绘制
  10. 联系 Contact