数据结构
文章平均质量分 86
唐曌
这个作者很懒,什么都没留下…
展开
-
程序员代码面试指南之归并排序笔记02
一、归并排序 1)整体是递归,左边排好序+右边排好序+merge让整体有序 2)让其整体有序的过程里用了排外序方法 3)利用master公式来求解时间复杂度 4)当然可以用非递归实现 二、归并排序复杂度 T(N) = 2*T(N/2) + O(N^1) 根据master可知时间复杂度为O(N*logN) merge过程需要辅助数组,所以额外空间复杂度为O(N) 归并排序的实质是把比较行为变成了有序信息并传递,比O(N^2)的排序快 三、用常见面试题再深入理解一下归并排序的精髓 在一个数原创 2021-07-24 14:19:31 · 447 阅读 · 0 评论 -
程序员代码面试指南之笔记01
一、算法数据结构基础课 第一节 1.1 评估算法优劣的核心指标是什么? (1)时间复杂度(流程决定) (2)额外空间复杂度(流程决定) (3)常数项时间(实现细节决定) 1.2什么是时间复杂度?时间复杂度怎么估算? (1)常数时间的操作 (2)确定算法流程的总操作数量与样本数量之间的表达式关系 (3)只看表达式最高阶项的部分 1.3 何为常数时间的操作? 如果一个操作的执行时间不以具体样本量为转移,每次执行时间都是固定时间。称这样的操作为常数时间的操作。 1.4 常见的常数时间的操作原创 2021-05-22 10:32:54 · 539 阅读 · 5 评论