JAVA数组中常见的算法

  • 数组中常用的算法:

1、 数组元素的赋值相关:杨辉三角、回形数。
2、求数值型数组中元素的最大值、最小值、平均数、总和。
3、数组的复制、反转、查找(线性查找、二分法查找)。
4、数组元素的排序算法:内部排序和外部排序

  • 衡量排序算法的优劣:

a、时间复杂度
b、空间复杂度
c、稳定性

  • 十大内部排序算法:
  1. 选择排序:直接选择排序、堆排序
  2. 交换排序:冒泡排序、快速排序
  3. 插入排序:直接插入排序、折半插入排序、shell排序
  4. 归并排序
  5. 桶式排序
  6. 基数排序
  • 算法的5大特征:

输入:有0个或多个输入数据,并有清楚地描述和定义
输出:至少有一个或多个输出结果,不可以没有
有穷性:在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成
确定性:每一步都有确定的含义,不会出现二义性。满足确定性的算法也称为确定性算法。
可行性:每一步都是清楚且可行的


ps:现在有更广泛的概念,例如非确定性的算法,并行算法、概率算法。另外人们也关注并不要求终止的计算描述,有时被称为过程。

  • 小科普
    • 线性查找

实现思路:通过遍历的方式,一个一个的数据进行比较、查找
适用性:具有普遍适用性

    • 二分法查找

实现思路:每次比较中间值,折半的方式检索
适用性:前提是数组必须有序

posted @ 2021-05-21 18:13  泥鱼生长  阅读(115)  评论(0)    收藏  举报