摘要:
插入排序: 思路: 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。 时间复杂度: 最好 O(N) 当数组正序 最坏 O(N ^ 2) 当数组倒叙 (一)代码 public class I 阅读全文
posted @ 2021-06-30 16:01
朝才
阅读(20)
评论(0)
推荐(0)
摘要:
选择排序算法: 思想: 每次在未排序得数组中找到最小的放到排序数组末尾 时间复杂度: O(n²) (一) 代码 public class SelectionSort { public static void main(String[] args) { int arr[] = new int[]{3, 阅读全文
posted @ 2021-06-30 15:29
朝才
阅读(40)
评论(0)
推荐(0)
摘要:
思想: 先拆分,再合并 核心:归并 时间复杂度: 始终都是 O(nlogn) 。代价是需要额外的内存空间 (一) 代码 public class MergeSort { public static void main(String[] args) { int []arr = {9,8,7,6,5,4 阅读全文
posted @ 2021-06-30 15:02
朝才
阅读(37)
评论(0)
推荐(0)
摘要:
题目: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大 (一个节点也可以是它自己的祖先) 思路: 递归出口 p == root || q == root || root 阅读全文
posted @ 2021-06-30 11:04
朝才
阅读(104)
评论(0)
推荐(0)

浙公网安备 33010602011771号