算法与数据结构
文章平均质量分 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 · 6457 阅读 · 0 评论 -
算法与数据结构学习笔记1
就是只保留增长最快的一项就是O(n^2)数量级大小排序根据实际代码求时间复杂度非常的清晰两个循环嵌套 内有三个赋值语句 时间复杂度为3n^2去掉系数 和低数量级的表示 结果就位O(n^2)''变位词''判断问题...原创 2021-11-10 22:26:43 · 528 阅读 · 0 评论 -
算法与数据结构学习笔记3--栈的应用
栈的应用什么是栈?一种有次序的数据项集合,在栈中,数据项的加入和移除都仅发生在同一端这一段叫栈顶top 另一端叫栈底base距离栈底越近的数据项,留在栈中的时间就越长(最新加入栈的数据会被最先移除)这种次序通常称为后进先出LIFO last in first out 这是一种基于数据项保留时间的次序,时间越短的离栈顶越近,而时间越长的离栈底越近栈的特性:反转次序进栈和出栈的次序正好相反 底部的最先进 最后出 和摆书一个道理 从底层摆起实例:浏览器的后退back按钮 ..原创 2021-11-21 22:19:47 · 424 阅读 · 0 评论 -
算法与数据结构学习笔记2--list dict时间复杂度比较
Python数据类型的性能列表list和字典dictList最常用的:按索引取值和赋值取值: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 · 748 阅读 · 0 评论