数据结构和算法
淹不死的水
这个作者很懒,什么都没留下…
展开
-
Morris算法遍历二叉树
遍历二叉树常用的方法是使用递归或者堆栈迭代实现 堆栈实现遍历的时间复杂度是O(n) 空间复杂度为O(logn) 使用递归算法时,空间复杂度为O(logn) 在节点数目较多时,递归的开销很大,占用资源大,因为需要不断的开辟新的栈桢,并保护现场。 使用Morris算法遍历二叉树时,时间复杂度O(n) 空间复杂度O(1)。 Morris算法的原理是线索二叉树。 在线索二叉树中,使用线索来保存前驱和后原创 2017-02-17 13:45:19 · 456 阅读 · 0 评论 -
java 冒泡排序
冒泡排序:两两比较,大的元素朝后放,第一次遍历完毕,最大值出现在数组末尾。 public class BubbleSort { public static void main(String[] args) { int[] arr = {3,4,5,11,2,34,5}; for(int i=0;i<arr.length-1;i++){原创 2017-02-17 21:17:00 · 276 阅读 · 0 评论 -
java 选择排序
public static void main(String[] args){ int[] arr = {1,2,4,12,2,12,2,3}; for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){原创 2017-02-17 21:23:49 · 193 阅读 · 0 评论