Yeefine 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   

Morris树遍历算法

本文主要解决一个问题,如何实现二叉树的前中后序遍历,并满足以下要求: 空间复杂度为O(1); 二叉树的形状不能被破坏(中间过程允许改变其形状)。 通常情况下,我们使用递归和迭代的方式进行遍历。但是由于这两种方式会用到递归栈或用户自定义栈等,空间复杂度为O(n),均不满足上述要求。 Morris Traversal方法可以满足上述两个要求,只需要O(1)的空间复杂度,同时在O(n)时间复杂度内完

2020-09-24
数据结构与算法 总结
二叉树

ArrayList集合

ArrayList当中的常用方法有: public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。 备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。 (但对于其他集合来说,add添加动作不一定成功)。 public E get(int index):从集合当中获取元素,参数是索引编号(从0开始

2020-08-12
Java
ArrayList

定义一个标准的类

一个标准的类通常要拥有下面四个组成部分: 所有的成员变量都要使用private关键字修饰 为每一个成员变量编写一对Getter/Setter方法 编写一个无参数的构造方法 编写一个全参数的构造方法 public class Student { private String name; private int age; public Student()

2020-08-11
Java
类

成员变量与局部变量的区别

局部变量和成员变量 定义的位置不一样【重点】  局部变量:在方法的内部  成员变量:在方法的外部,直接写在类当中 作用范围不一样【重点】  局部变量:只有方法当中才可以使用,出了方法就不能再用  成员变量:整个类全都可以通用 默认值不一样【重点】  局部变量:没有默认值,如果要使用,必须手动进行赋值 &ems

2020-08-03
Java
变量

Java中的内存划分

Java的内存需要划分成为5个部分: 栈(stack):存放的是方法中的局部变量。方法的运行一定要在栈当中运行。 堆(Heap):凡是new出来的东西,都在堆当中。     堆内存里面的东西都有一个地址值:16进制     堆内存里面的数据,都有默认值。规则:

2020-07-23
Java
内存

方法重载

对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名,太麻烦。 方法的重载(overload):多个方法的名称一样,但是参数列表不一样。 好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。 方法的重载与下列因素相关: 参数个数不同 参数类型不同 参数的多类型顺序不同 方法的重载与下列因素无关: 与参数的名称无关 与参数的返回值类型无关

2020-07-22
Java
方法

IDEA常用快捷键

IDEA常用快捷键 快捷键 功能 Alt + Enter 导入包,自动修正代码 Ctrl + Y 删除光标所在行 Ctrl + D 复制光标所在行的内容,插入光标位置下面 Ctrl + Alt + L 格式化代码 Ctrl + / 单行注释,再按取消注释 Ctrl + Shift + / 选中代码注释,多行注释,再按取消注释 Alt + Ins 自动生成代码, t

2020-07-21
总结
IDEA

二分查找算法

二分查找的思想减而治之,即将大规模问题转化成小规模问题。减而治之是分而治之的特例,将大问题划分成若干个子问题以后,最终答案只在其中一个子问题里。 二分查找的基本问题(二分查找模板一)

2020-07-17
数据结构与算法 总结
二分查找

经典排序算法——归并排序

原理:设归并排序的当前区间为R[low...high],分治法的三个步骤是: 分解:将当前区间一分为二,即求分裂点 求解:递归地对两个子区间R[low...mid]和R[mid+1...high]进行归并排序 组合:将已排序的两个子区间R[low...mid]和R[mid+1...high]归并为一个有序的区间R[low...high] 递归的终结条件:子区间的长度为1

2020-07-12
数据结构与算法 经典排序算法
分治法

经典排序算法——快速排序

原理:快速排序,即选定基准数据并找出其正确索引位置的过程。 通过使用分治思想对快速排序算法进行描述。下面对一个典型的子数组nums[p...r]进行快速排序的三步分治过程:   分解:数组nums[p...r]被划分为两个(可能为空)子数组nums[p...q-1]和nums[q+1...r],使得nums[p...q-1]中的每个元素都小于nums[q],而nums[q+1...r

2020-07-08
数据结构与算法 经典排序算法
分治法
12345

搜索

Hexo Fluid
总访问量 次 总访客数 人