算法学习
吢丕er
ToBeABetterMan
展开
-
算法学习001---二叉树的深度(Java)
算法要求: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...原创 2019-03-23 19:58:09 · 580 阅读 · 0 评论 -
排序算法
一、冒泡排序算法 1.1 算法原理 每次比较两个相邻的元素,将较大的元素后移一位 每一轮比较后,都会把遍历到最大的数据移动到末尾(一次遍历保证一个数据有序) 若有n个数据,n轮遍历下来,就会实现数据从小到大的有序排列 时间复杂度:最好情况O(n),最坏情况O(),平均情况O() 空间复杂度:最坏情况O(n) 1.2 动图演示 ...原创 2019-06-30 22:34:27 · 202 阅读 · 0 评论 -
查找算法
先介绍两种最常用的查找算法 一、顺序查找 顾名思义,顺序查找的意思就是按照顺序一个个进行查找。有序或是无序都可以,效率较低。 //顺序查找,返回对应元素下标,若找不到返回-1 public static int search(int[] a, int key) { for (int i = 0; i < a.length; i++) { if (a[i] ==...原创 2019-07-17 09:57:06 · 139 阅读 · 0 评论