树,二叉树
2015-11-02 20:49
274 查看
树的前言:
头一次在树上面带上“容器”的帽子。之所以如此,我觉得树也是存储数据的一种方法,而这种方法与直线型的存储方式不同。数据使用树形的方式存储,从一个点向下不断的延伸和扩散。一对多的关系。树里面的元素可以称之为节点,节点之间(通常)使用链式的方法连接而少用数组了。
除了将树看成是一种可以容纳元素的容器,也应该看到树也是一种数据类型。这种类型也应该有操作,有成员。
树不是直线,它比直线上的操作实现起来要复杂一点。而且,在树的操作上面,不是向直线型操作那么明显了:要完成这个操作往往需要小技巧。
所谓的技巧就是考虑问题和解决的方法并不直观。要有心理准备。但是基本的思想就是分而治之,化繁为简。一个大的问题总能够划分为若干个小的问题,可以一直这样去划分,指导这个小问题可以像解决直线型操作那么明显!
树不仅仅是容器的角色。树往往是高效算法的基础。如查找。高效的算法就是通过实现树上的操作体现的。正因为树这种结构既能够当容器用,也能支持高效(比直线型高效)的算法,所以树非常的重要,也非常的值得研究。
研究的对象就是二叉树了。
研究的地方在于树作为容器的使用,重点还是二叉树上高效的算法的实现。研究的方法仍然是边写代码边分析。先定义接口,再实现,通过分析操作去确定成员什么的。还有迭代什么的。O(∩_∩)O哈哈~
头一次在树上面带上“容器”的帽子。之所以如此,我觉得树也是存储数据的一种方法,而这种方法与直线型的存储方式不同。数据使用树形的方式存储,从一个点向下不断的延伸和扩散。一对多的关系。树里面的元素可以称之为节点,节点之间(通常)使用链式的方法连接而少用数组了。
除了将树看成是一种可以容纳元素的容器,也应该看到树也是一种数据类型。这种类型也应该有操作,有成员。
树不是直线,它比直线上的操作实现起来要复杂一点。而且,在树的操作上面,不是向直线型操作那么明显了:要完成这个操作往往需要小技巧。
所谓的技巧就是考虑问题和解决的方法并不直观。要有心理准备。但是基本的思想就是分而治之,化繁为简。一个大的问题总能够划分为若干个小的问题,可以一直这样去划分,指导这个小问题可以像解决直线型操作那么明显!
树不仅仅是容器的角色。树往往是高效算法的基础。如查找。高效的算法就是通过实现树上的操作体现的。正因为树这种结构既能够当容器用,也能支持高效(比直线型高效)的算法,所以树非常的重要,也非常的值得研究。
研究的对象就是二叉树了。
研究的地方在于树作为容器的使用,重点还是二叉树上高效的算法的实现。研究的方法仍然是边写代码边分析。先定义接口,再实现,通过分析操作去确定成员什么的。还有迭代什么的。O(∩_∩)O哈哈~
相关文章推荐
- 指针
- 单片机printf使用
- Acronis Disk Director Suite v10 扩容系统盘
- Lesson 5 Convenience typedefs
- LeetCode——Search a 2D Matrix II
- 实现 tomcat 热加载证书
- Activity的切换动画
- 浅谈B树
- hdu1069(dp)
- 这是我的第一篇博客
- android--(内存管理、布局性能优化hierarchyviewer工具、viewStub(需要时显示))
- read_buffer_size
- Swift再浪一波,快来快来
- iOS 开发 c语言阶段考试题
- hdu 5527 Too Rich
- Git命令入门小结
- Linux压缩打包工具
- Lesson 4 Fixed vs. Dynamic size
- java虚拟机的性能监控工具的介绍以及指令的含义
- 文章标题