以前说过了多叉树,实现了前序遍历和后序遍历,可是多叉树是没有中序遍历了算法
以前由于一直没想到中序遍历的用途,因此忽略掉了,今天继续看数据结构和算法这本书数据库
里面说到了.中序遍历,能够用来作表达式树,在编译器底层实现的时候用户很,能够实现基本的加减乘除数据结构
好比 a*b+c,很是有意思数据结构和算法
前序遍历用来实现目录结构的显示学习
后序遍历能够用来实现计算目录内的文件,占用的数据大小~很是有用资源
学以至用,知道一个算法的用途才能够更好的学习他,更愿意深刻学习这个算法编译器
二叉树的定义和遍历相对简单,这里就不作具体的实现了,固然有时间也会写一下,无非是左子树和右子树,比多叉树的实现简单多了io
可是即使是二叉树,最复杂的仍是删除了,这里特别说明一下,就像书中所说的,为了减小算法的运行时间,在一些状况下,实际上对于删除操做一个好的办法就是作一下标记,并非真实删除,这种方法叫作懒惰删除(英文:lazy deletion),其实在实际的数据库操做中咱们也常常用这种方法,由于删除确实是消耗资源比较大的操做,在数据库操做中也会使之后的查询变慢编译