有序数组_数学数组的定义是什么

有序数组_数学数组的定义是什么有序数组 有序数组跟上一章讨论的数组几乎一样,唯一区别就是有序数组要求其值总是保持有序。即每次插入新值时,它会被插入到适当的位置,使整个数组的值仍然按顺序排列。常规的数组则并不考虑是否有序,直接把值加到末尾也没问题。 往有序数组中插入新值,需要先做一次查找以确定插入的位置。这是它跟常规数组的关键区别

有序数组_数学数组的定义是什么

有序数组

有序数组跟上一章讨论的数组几乎一样,唯一区别就是有序数组要求其值总是保持有序。即每次插入新值时,它会被插入到适当的位置,使整个数组的值仍然按顺序排列。常规的数组则并不考虑是否有序,直接把值加到末尾也没问题。

 

往有序数组中插入新值,需要先做一次查找以确定插入的位置。这是它跟常规数组的关键区别(在性能方面)之一。

虽然插入的性能比不上常规数组,但在查找方面,有序数组却有着特殊优势。

 

查找有序数组

常规数组的查找方式:从左至右,逐个格子检查,直至找到。这种方式称为线性查找。

对于有序数组来说,即便它不包含要找的值,我们也可以提早停止查找。

有序数组的线性查找大多数情况下都会快于常规数组。除非要找的值是最后那个,或者比最后的值还大,那就只能一直查到最后了。

 

有序数组相比常规数组的一大优势就是它可以使用另一种查找算法。此种算法名为二分查找,它比线性查找要快得多。

 

二分查找

有序数组相比常规数组的一大优势就是它除了可以用线性查找,还可以用二分查找。常规数组因为无序,所以不可能运用二分查找。

 

二分查找与线性查找

每次有序数组长度乘以2,二分查找所需的最多步数只会加1。

数组长度翻倍,线性查找的最多步数就会翻倍,而二分查找则只是增加1步。

 

参考:数据结构与算法图解.2.1

 

今天的文章有序数组_数学数组的定义是什么分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/54267.html

(0)
编程小号编程小号
上一篇 2023-08-29
下一篇 2023-08-29

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注