随笔分类 - 算法
摘要:归并排序 时间复杂度为O(nlog(n)),稳定排序,需要额外空间O(n),原地归并没看 归并排序的两种方式 自顶向下 先向下分治成规模为2的子问题,然后向上进行merge; 自底向上 在底部先进行规模为2的归并,然后处理规模为4,8...的问题向上归并 代码示例 merge方法用的同一个,额外空间
阅读全文
摘要:堆排序 建堆,移动最值,维护堆 时间复杂度 初始化建堆O(n),排序重建堆O(nlog(n)) 总时间复杂度 O(nlog(n)); 不稳定 代码实现:最大堆最小堆的区别只是在节点和子节点比较 package leet; import org.junit.Test; import java.util
阅读全文
摘要:快速排序 介绍 时间复杂度O(nlogn) 不稳定 基于比较 代码实现 递归版 一个分治的递归主函数,一个实现partition的函数,这里给出patition函数实现的三种方式。 // 主函数 public void quickSort(int[] nums, int left, int righ
阅读全文

浙公网安备 33010602011771号