
数据结构与算法
windmyself
深度学习 计算机视觉
展开
-
时间复杂度
一个循环就是O(N)数组的随机查找:O(1);插入=删除:O(N);链表的查找:O(N);插入=删除:O(1);递归:O(logN);遍历二叉树:O(N);图的遍历:O(N);DFS BFS 深度优先和广度优先:O(N)PS:因为遍历二叉树 图 和深度优先广度优先都是所有的节点都遍历一次,所以时间复杂度都是O(N)二分查找:O(logN)...原创 2020-09-27 17:01:16 · 132 阅读 · 0 评论 -
快速排序Python
def partition(arr, low, high): i = low - 1 pivot = arr[high] for j in range(low, high): if arr[j] <= pivot: i = i+1 arr[i],arr[j] = arr[j],arr[i] arr[i+1],arr[high] = arr[high],arr[i+1]# ??? return i+1def quick_sort(arr, low, high): if l原创 2021-07-01 15:14:40 · 102 阅读 · 0 评论 -
4-13 复杂度分析
这节讲时间复杂度的计算简单的说就是计算代码中执行次数最多的部分所用时间。大 O 时间复杂度实际上并不具体表示代码真正的执行时间,而是表示代码执行时间随数据规模增长的变化趋势,所以,也叫作渐进时间复杂度别的都好算,这里就记一下对数的时间复杂度吧: i=1; while (i <= n) { i = i * 2; }根据复杂度分析方法,第三行代码是循环执行次数最多的。所以,只要能计算出这行代码被执行了多少次,就能知道整段代码的时间复杂度。从代码中可以看出,变量 i 的值从 1 开原创 2021-04-13 21:27:10 · 87 阅读 · 0 评论 -
4-11数据结构与算法学习笔记(第一天)
4-11 坚持、积累数据结构知识图多练:王争说不用lc,只要把这个课掌握bat没问题。 lc一天至少一道!打怪升级攻略:每天发一篇优快云书读百遍,其义自见。不用百遍20遍就可以了原创 2021-04-11 10:09:36 · 95 阅读 · 0 评论