千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > java中常用的算法总结

java中常用的算法总结

来源:千锋教育
发布人:wjy
时间: 2022-04-20 11:31:00 1650425460

  程序员进行编程的过程中肯定少不了对于数据的处理,那么此时了解Java算法就非常重要,Java算法有很多,今天千锋小编针对Java中常用的算法做了一期整理,下面就简单的介绍一下程序员常用的一些Java算法。

     java中常用的算法

  一、排序

  1.1 排序概述

  排序(sorting)的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。

  内部排序和外部排序:一类是整个排序过程在内存储器中进行,称为内部排序;另一类是由于待排序元素数量太大,使得内存储器无法容纳全部数据,排序需要借助外部存储设备才能完成,这类排序称为外部排序。

  比较排序和非比较排序

  大部分排序都是需要通过比较首先来判断大小,作为排序的依据的。

  但是也有例外,比如计数排序、基数排序不需要进行比较。效率可以更高,但同时也会有一些限制条件,也可能需要更多的空间。

  冒泡排序、选择排序、直接插入排序是最基本的三种排序,效率低但是算法简单。排序的学习一般从这三种排序算法着手。

  1.2冒泡排序

  冒泡排序的算法

  1) 整个数列分成两部分:前面是无序数列,后面是有序数列

  2) 初始状态下,整个数列都是无序的,有序数列是空

  3) 如果一个数列有n个元素,则至多需要n-1趟循环才能保证数列有序

  4) 每一趟循环可以让无序数列中最大数排到最后,(也就是说有序数列的元素个数增加1)

  5) 每一趟循环都从数列的第一个元素开始进行比较,依次比较相邻的两个元素,比较到无序数列的末尾即可(而不是数列的末尾)

  6) 如果前一个大于后一个,交换

  1.3 选择排序

  选择排序的算法

  1) 整个数列分成两部分:前面是有序数列,后面是无序数列

  2) 初始状态下,整个数列都是无序的,有序数列是空

  3) 一共n个数,需要n-1趟循环(一趟都不能少)

  4) 每比较完一趟,有序数列数量+1,无序数列数量-1

  5) 每趟先假设无序数列的第1个元素(整个数列的第i个元素)是最小的,让当前最小数,从第i+1个元素开始比较,一直比较到最后一个元素。如果发现更小的数,就假设当前数是最小数。

  6) 一趟比较完后,将发现最小数和无序数列的第一个数交换(如果最小数不是无序数列的第一个数)

  二、递归和折半查找

  2.1 递归

  递归(recursion)是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。利用递归可以用简单的程序来解决一些复杂的问题。比如:斐波那契数列的计算、汉诺塔、快速排序等问题。

  递归问题的特点:一个问题可被分解为若干层简单的子问题;子问题和其上层问题的解决方案一致;外层问题的解决依赖于子问题的解决。

    与此同时,递归有着思路自然、程序简单的优点,自然也有缺点,递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多。

  2.2 折半查找

  折半查找又称为二分查找,这种查找方法需要待查的查找表满足两个条件:

  首先,查找表必须使用顺序存储结构;

  其次,查找表必须按关键字大小有序排列。

    上面就是java中常用的算法的一个简单的介绍和总结。希望这篇对Java语言经典算法的介绍能够帮助大家。如果你对Java培训有兴趣,欢迎随时咨询千锋教育!

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区