数据结构
weixin_45636163
这个作者很懒,什么都没留下…
展开
-
数据结构基础03
排序算法的稳定性:保证相同数字原始相对次序不变 O(N2) 冒泡:稳定 插入:稳定 选择:不稳定 O(NlogN) 归并:稳定 快排:不稳定 堆排:不稳定 现实业务需要保留先前信息 工程中的综合排序算法 样本量小 <60 插排 样本量>60 归并 快排… 基础类型:快排 自定义类型:归并 有关排序问题的补充 归并排序的额外空间复杂度可以变成O(1) 快速排序可以做到稳定性问题,但是非常难,不需要掌握 1、比较器 public static class Student { public St原创 2020-07-14 15:50:07 · 73 阅读 · 0 评论 -
数据结构初级02
给定一个数组arr,和一个数num,请把小于等于num的数放在数 组的左边,大于num的数放在数组的右边。 要求额外空间复杂度O(1),时间复杂度O(N) 问题二(荷兰国旗问题) 给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于num的数放在数组的中间,大于num的数放在数组的 右边。 要求额外空间复杂度O(1),时间复杂度O(N) public static int[] partition(int[] arr, int l, int r, int num) { int le原创 2020-07-13 20:46:56 · 74 阅读 · 0 评论 -
算法基础第一课
时间复杂度:时间复杂度为一个算法流程中,常数操作数量的指标。常用O (读作big O)来表示。具体来说,在常数操作数量的表达式中, 只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分 如果记为f(N),那么时间复杂度为O(f(N)) 冒泡排序:时间复杂度O(N^2),额外空间复杂度O(1) 选择排序:时间复杂度O(N^2),额外空间复杂度O(1) 插入排序:时间复杂度O(N^2),额外空间复杂度O(1) 对数器 所有递归行为都可转化为非递归 递归行为和递归行为时间复杂度 master公式的使用 T(N)原创 2020-07-13 15:43:19 · 68 阅读 · 0 评论