算法面试通关
算法面试通关
_wayliu
这个作者很懒,什么都没留下…
展开
-
02 理论讲解:数组&链表
1.数组定义 2.链表 1.数组定义 内存里连续的一段存储区域 可以通过索引任意存取,索取:时间复杂度是O(1),插入\删除:时间复杂度O(n) 优点:查询快 缺点:增删慢,所以有了链表 2.链表 2-1 数组的缺点 数组要添加和删除元素时,需要将数组中的其他元素向前或向后平移,效率低。 2-2 链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 优点 增加节点和删除节点需要只需要改变链表指针,时间复杂度O(1) 缺点 查询需要沿着指针遍历原创 2021-04-04 22:09:13 · 73 阅读 · 0 评论 -
01 如何计算算法的复杂度
1.Big O notation 2.复杂度代码示例 1.Big O notation O(1): 常数复杂度 O(log n): 对数复杂度 O(n): 线型时间复杂度 O(n^2): 平方 O(n^3):立方 O(2^n) :指数 O(n!):阶乘 注意:只看最高复杂度的运算 2.复杂度代码示例 O(1) int n = 1000; System.out.println(n) O(n) for (int i=1; i<=n; i++) { System.out.println(i) }原创 2021-04-02 00:10:58 · 102 阅读 · 0 评论