- 博客(6)
- 收藏
- 关注
转载 [转载&算法导论学习] 关于堆(heap)结构根节点左右子树最大尺寸为2n/3的推导
原文链接:https://zhuanlan.zhihu.com/p/360144985 在学习堆排序时,给出了MAX-HEAPIFY的时间复杂度计算公式如下 这个公式来自上图中的前提:给定堆数据结构总元素个数n,根结点左右子树的最大规模为2n/3,当最后一层只填满了一半时。 堆数据结构近似于一个完全二叉树,仅仅在最后一层(自上往下数)不要求填满。 对magic number,我向来就两个字:卧槽。不过可能是写书的人觉得太简单懒得给依据,费了一番功夫后,搞出了推导过程。如下。 根据几何数列公式,堆高度
2021-06-07 18:25:27
176
原创 [算法导论&python学习] 求最大子数组(分治法)
运行时间为O(n^2) 在def find_max_crossing_subarray(a, p, mid, r): # 数组名,最小下标,中间下标,末尾下标 left_sum = -9999 # -float("inf") sum = 0 left_max_index = 0 for i in range(mid, p-1, -1): # range默认为(,,1) sum += a[i] if left_sum < sum:
2021-06-01 12:29:38
160
原创 【单片机学习】STM32F4板子ADC配置
仅供个人参考 ADC通过DMA传输,彼此有对应关系,F4板子对应如下 DMA2(CH0 CH4)-------------->ADC1 DMA2(CH2 CH3)-------------->ADC2 DMA2(CH0 CH1)-------------->ADC3
2021-05-31 19:58:27
1023
2
原创 [LeetCode&算法学习]排序题56.合并区间 python实现
题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 示例 1: 输入:intervals = [[1,3],[2,6],[8,10],[15,18]] 输出:[[1,6],[8,10],[15,18]] 解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入:intervals = [[1,4]
2021-05-29 17:23:44
227
原创 [算法导论&python学习] 实现归并排序(分治法)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-05-27 16:58:45
181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人