- 博客(2)
- 资源 (9)
- 收藏
- 关注
原创 数组和链表
数组和链表是一组简单、常用的,线性的数据结构,java中很多复杂数据结构都是基于它们实现的。虽然简单,但却是面试中的常客,尤其是算法相关的面试题。 数组 数组是一种有序的、固定大小的、存储相同数据类型的线性数据结构。数组有着广泛的应用,比如java中的ArrayList、Vector等数据结构就是基于数组实现的。数组的示意图: 数组的主要特点: 插入和删除效率低 连续内存,大小固定,无法动态扩展 可以根据下标随机访问,查找效率高 链表 链表也是一种线性的数据结构,但链表不是连续内存,而是通过指针指向将元
2020-11-23 19:53:13
3319
原创 如何理解时间复杂度和空间复杂度
我们经常可以看到这样的描述:软件=数据结构+算法,可见算法基础对于一个程序员的重要性。算法中,有两个基本概念:时间复杂度和空间复杂度。 时间复杂度:描述算法执行消耗的时间,时间越短,时间复杂度越低,算法越优秀; 空间复杂度:描述算法执行所占用的内存空间,占用内存越少,空间复杂度越低,算法越优秀; 因此,时间复杂度和空间复杂度是评价一个算法性能的主要指标。那么如何计算一个算法的时间复杂度和空间复杂度呢? 简单理解,计算时间复杂度就是评估一个算法完成后执行了多少行代码,也就是算法所消耗的时间,但是该如何用数
2020-11-22 09:44:11
469
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人