ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

二叉树的学习之旅01

二叉树的学习之旅01 二叉树中的层数就像是平时楼层的楼层数项目中heap.h和heap.c是把一个创建实现heap类型的数据结构操作的模块分成了俩部分这个就像一个头链first是heap.h是声明结构体和函数接口再到second处的heap.c来进行实现我们在second处却是在服务头处的功能即这样子的链式组织方式不同于我们类似vue项目的那种的一体式。利用电脑码码是手写效率的300倍PreOder的本质还是遍历,那么里面包含的都不会缺掉遍历的基本操作这里要借用递归的思想函数AdjustDown的本质应该是交换函数Swap在设计这个接口的时候类似perror函数浓缩了printf与strerror与errno后传参就是简单的一个string说明参数了这是讲浓缩Swap的接口中表明了要交换的两个参数AdjustDown的特殊处在于域数概中的概率也就是归结为域了或者把域都在归结到集合上是不是说远了我知道局部而去推测外部的时候外部的情况是一个未知变量如何找到一个合适的等式去解出它就是一个大问题了它是基于Swap却是全局的操作的数据只是包含在其中的一部分即我来了我跟你所我身上哪个地方你处理一下然后你在我那个地方的局部进行操作对了这个其实就是数组操作那么它其实就是类似查找了它高于查找的地方又在哪里呢我们学习数据结构中基本的抽象数据类型--顺序表和链表时查找可以组合任意位置的增删变成指定元素的增删了那AdjustDown其实只是组合了Swap而不能说是AdjustDown的本质是Swap,那AdjustDown的别的组件是什么呢我觉得是它的结构这也是为什么说程序 算法数据结构把这里的AdjustDown程序就是这样的一个基于Swap的算法加上堆这种数据结构//小堆void AdjustDown(int* a, int n, int* root){int parent root;int child parent*2 1;if(a[parent] a[child]){Swap(a[parent], a[child]);}}二叉树的增删查改没有意义递归就是看上去简单但是理解起来不简单翻转二叉树另一个树的子树
返回列表