数据结构与算法
文章平均质量分 64
www.wfm
一个想咸鱼但是又不敢咸鱼的咸鱼
展开
-
时间复杂度和空间复杂度
时间复杂度:执行当前程序消耗的度量 空间复杂度:当前程序运行占用内存的度量 以上两个维度去衡量一个算法的耗时与占用内存,用big O 来表示 常数阶复杂度 O(1) 执行的程序中不存在循环,比如 a = 1 b = 2 print(a+b) 在一段代码中执行的次数是常数,其时间复杂度就是O(1) 线性阶复杂度O(n) 在执行的程度中存在单层循环,时间复杂度为循环的次数n,比如 for i in range(0, n): print(i) 对数阶O(logN) i = 1 while(i<n.原创 2021-04-15 00:22:31 · 125 阅读 · 1 评论 -
数组、链表和跳表
在数组、链接的两种结构下关于增加、删除元素的操作。 数组 增加操作 增加位置 在中间的index处插入某个元素 需要将index之后的元素整体往后移,需要将size++ 插入元素 在末尾插入元素 将size++,复制给最后一个值 删除操作 删除目标元素,将target index后的元素整体往前移,对于已经删除的目标元素可触发垃圾回收机制,也可手动回收 数组的增加和删除操作在最坏的情况下需要移动n个元素,进行n次操作,时间复杂度是O(n) 链表 增加操作 若要在index 处插入原创 2021-04-16 23:57:38 · 119 阅读 · 0 评论
分享