数据结构与算法
算法与数据结构
nhj_csdn
keep hungry keep foolish
展开
-
查找算法
二分查找 // 数组a必须是有序的 public static int get(int key, int[] a) { int lo = 0, hi = a.length - 1; while (lo <= hi) { int mid = lo + (hi - lo) / 2; if (key < a[mid]) { hi = mid - 1; } else...原创 2020-04-21 00:59:15 · 77 阅读 · 0 评论 -
遍历二叉树的模板方法
二叉树的遍历二叉树示意图遍历序列遍历方案二叉树节点先序遍历(深度优先)中序遍历后续遍历层次遍历(广度优先遍历) 二叉树 示意图 1234567 遍历序列 先序遍历序列:[4、2、1、3、6、5、7] 中序遍历序列:[1、2、3、4、5、6、7] 后续遍历序列:[1、3、2、5、7、6、4] 遍历方案 二叉树节点 class TreeNode { int val; TreeNode left...原创 2020-04-17 22:21:10 · 229 阅读 · 0 评论 -
内部排序之快速排序、归并排序、堆排序
快速排序 public void sort(int[] data) { if (data == null || data.length < 1) { return; } sort(data, 0, data.length - 1); } private void sort(int[] data, int start, int end) { if (start >=...原创 2020-04-17 13:43:14 · 114 阅读 · 0 评论