在java数据结构中经常会看到有关每个数据结构插入、查询的时间复杂度,但是在很长一段时间不知道是什么意思,今天总结一下
- O(1)
代表只需要计算一次既可以找到目标
例如:我们在电影院看电影,拿着座位号,可以一次定位到具体的位置
那在我们的数据结构中链表插入数据的时间复杂度为O(1)
- O(n)
代表需要将所有数据遍历一次
那在我们的数据结构中链表查询数据、遍历所有数组查找最大数据,这些都是时间复杂度为O(n)
- O(n^2)
代表需要双层遍历数据
那在我们的数据结构中冒泡排序就是时间复杂度为O(n^2)
- O(log n)
代表每次查找排除一半,例如当数据增大256倍时,耗时只增大8倍
那在我们的数据结构中,二分查找即为O(log n)
- O(n log n)
在个时间复杂度是在O(log n) 基础上乘以N
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/144722.html