算法与数据结构
文章平均质量分 57
本人的算法与数据结构学习过程
Lyttonkeepgoing
这个作者很懒,什么都没留下…
展开
-
时间复杂度与空间复杂度总结
Agenda:什么是时间复杂度? 算法的执行效率:算法的执行时间与算法的输入值之间的关系 例如: def test(num): total = 0 for i in range(num): total += i return total 时间复杂度就只看这个for 循环 用大O表示法就是O(n) 常见时间复杂度案例分析 O(1):表示我的算法执行时间和我的nums无关(没有for和while循环) def O1(num): i = num .原创 2022-02-14 17:11:47 · 6492 阅读 · 0 评论 -
算法与数据结构学习笔记1
就是只保留增长最快的一项 就是O(n^2) 数量级大小排序 根据实际代码求时间复杂度 非常的清晰两个循环嵌套 内有三个赋值语句 时间复杂度为3n^2 去掉系数 和低数量级的表示 结果就位O(n^2) ''变位词''判断问题 ...原创 2021-11-10 22:26:43 · 542 阅读 · 0 评论 -
算法与数据结构学习笔记3--栈的应用
栈的应用 什么是栈? 一种有次序的数据项集合,在栈中,数据项的加入和移除都仅发生在同一端 这一段叫栈顶top 另一端叫栈底base 距离栈底越近的数据项,留在栈中的时间就越长(最新加入栈的数据会被最先移除) 这种次序通常称为后进先出LIFO last in first out 这是一种基于数据项保留时间的次序,时间越短的离栈顶越近,而时间越长的离栈底越近 栈的特性:反转次序 进栈和出栈的次序正好相反 底部的最先进 最后出 和摆书一个道理 从底层摆起 实例:浏览器的后退back按钮 ..原创 2021-11-21 22:19:47 · 441 阅读 · 0 评论 -
算法与数据结构学习笔记2--list dict时间复杂度比较
Python数据类型的性能 列表list和字典dict List最常用的:按索引取值和赋值 取值:v=a[i] 赋值a[i]=v 时间复杂度都是O(1) 另一个是列表增长 list.append(v) 或者lst = lst+ [v] 结果是 list range最快 同时列表推导式也用的很多 list 基本操作的大O数量级 list.pop 从列表中移除元素 pop() 从列表末尾移除元素,O(1) pop(i)从列表中部移除元素,O(n) pop()...原创 2021-11-15 16:32:24 · 796 阅读 · 0 评论