摘要: ##编码技巧之算法复杂度【笔记】 ###算法复杂度 抽象来说 具体来说 对这些抽象和具体有了一些概念以后,就可以看一些结构情况了 像是O(N^2)(插入排序,选择排序) 像是O(NlogN)(归并排序,快速排序(平均)) ####算法的组合 先用一种算法来计算,再使用另一种算法来计算,最后怎么求这种 阅读全文
posted @ 2021-03-02 13:51 DbWong_0918 阅读(112) 评论(0) 推荐(0) 编辑
摘要: ##编码技巧之数据结构【笔记】 ###数据结构回顾 列表中的数组,链表,队列,栈 树中的二叉树,搜索树,堆/优先队列 图中的无向图,有向图,有向无环图 图的算法中的深度优先遍历,广度优先遍历,拓扑排序和最短路径/最小生成树 ###树的遍历 ####二叉树的遍历方法: 前序遍历 先遍历树根,然后前序遍 阅读全文
posted @ 2021-03-02 13:49 DbWong_0918 阅读(103) 评论(0) 推荐(0) 编辑
摘要: ##编码技巧之边界【笔记】 ###边界控制 以二分查找为例,假设我们在一个有序数组中查找元素k,需要返回k所在的下标 例如在【1,2,3,4,5,6】中找4,那么返回的话就要返回3 ###二分查找的思路 规定要查找的值k可能在的数组arr内下标区间a,b 计算区间a,b的中间点m 如果k<arr[m 阅读全文
posted @ 2021-03-02 13:46 DbWong_0918 阅读(82) 评论(0) 推荐(0) 编辑
摘要: ##编码技巧之循环【笔记】 ###循环控制 在循环中要定义一个循环不变式 循环不变式是一句断言定义各变量所满足的条件 与递归不同,在递归里面断言就是证明一个函数,而在循环中,是没法直接看到的,是心中默认的一个条件 ###循环的书写方法 定义一个循环不变式,并在循环体每次结束后保持循环不变式 和递归一 阅读全文
posted @ 2021-03-02 13:45 DbWong_0918 阅读(102) 评论(0) 推荐(0) 编辑