首页 > 其他分享 >Arrays类、冒泡排序、稀疏数组

Arrays类、冒泡排序、稀疏数组

时间:2022-09-29 19:15:53浏览次数:48  
标签:Arrays 稀疏 冒泡排序 数组 排序 方法

Arrays类

  • 数组的工具类java.util.Arrays
  • 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,
    从而可以对数据对象进行一些基本的操作
  • 查看JDK帮助文档
  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,
    而“不用”使用对象来调用(注意:是“不用”而不是“不能”
  • 具有以下常用功能:
    • 给数组赋值:通过fill方法
    • 对数组排序:通过sort方法,按升序
    • 比较数组:通过equals方法比较数组中元素值是否相等
    • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作

冒泡排序

  • 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序

  • 冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知

  • 我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度O(n2)

  • 思考:如何优化?

稀疏数组介绍

  • 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。
  • 稀疏数组的处理方式是:
    • 记录数组一共有几行几列,有多少个不同值
    • 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模
  • 需求:编写五子棋游戏中,有存盘退出和续上盘的功能
  • 分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据
  • 解决:稀疏数组





标签:Arrays,稀疏,冒泡排序,数组,排序,方法
From: https://www.cnblogs.com/song-hua/p/16742649.html

相关文章

  • Arrays讲解
    Arrays讲解数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了-个工具类Arrays供我们使用,从而可以对数据对象进行--些基本......
  • js 创建数组 创建对象 删除数组指定对象
    varmaterielArr=[];//创建数组 varmateriel={};//创建对象 //添加到数组materiel.cInvCode=cInvCode;materiel.quantity=quantity;materiel.orderTyp......
  • 数组的使用、二维数组
    数组使用For-Each循环数组作方法入参数组作返回值多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一堆数组,其每一个元素都是一个一维数组。二......
  • 442 数组中重复的数据
      方法1:原地修改数组1ans=[]2fornuminnums:3ifnums[abs(num)-1]<0:4ans.append(abs(num))5nums[abs(num)-1]*=-16return......
  • React函数组件和类组件的区别
    区别函数组件的性能比类组件的性能要高,因为类组件使用的时候要实例化,而函数组件直接执行函数取返回结果即可。为了提高性能,尽量使用函数组件。区别函数组件类组件是否有 ​......
  • 448 找到所有数组中消失的数字
      方法1:1counter=set(nums)2N=len(nums)3res=[]4foriinrange(1,N+1):5ifinotincounter:6res.append(i)7returnres方法2:原......
  • 697 数组的度
     1、找到数组的度2、找到与nums相同度的最短连续子数组使用三个字典,left用于记录每个元素在数组中第一次出现的位置,right用于记录每个元素在数组中最后一次出现的位置......
  • java代码练习(数组)基于黑马的课自学
    代码练习数组本次练习全部使用黑马的课中给出的模型本博客的意义在于统计我平时写代码过程中的错误模型一错误代码所写代码及其运行结果可见其不符合需求原因:“......
  • java初步学习 数组(基于黑马的课进行自学,初学者,不喜勿喷)8
    初步学习数组基本概念数组是指一种容器,用来同时储存同种数据类型的多个值如:指定一个数组名为“base”,数据类型为“int”,即可同时储存如“13,19,100”等类型为“int”的......
  • 第六次笔记-数组
    六.数组前言​1.一维数组​ 2.二维数组​ 3.多维数组数组属于数据类型中的一种数据结构:就是帮助我们更好的管理与使用数据!!!变量数组结构体链表......