Day13-一元函数微分学的几何应用题平衡二叉树堆图的基础知识

Posted 我的第一份编程踪迹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day13-一元函数微分学的几何应用题平衡二叉树堆图的基础知识相关的知识,希望对你有一定的参考价值。


    今天上午终于开始正儿八经写数学题了,昨天学了一元函数微分学的几何应用和看了例题,今天开始自己动手写题目。12道题,难度都还好,没有题目被空着。错了一道选择题,因为自己对驻点的概念不清楚,驻点就是函数导数为0的点,但它可以不是极值点。因为极值点的充分条件里,除了导数为0,还有二阶导不为0。大题里基本上都有错,总共有以下几类错误:一是求渐近线的时候,把水平渐近线和铅直渐进线忘了,只顾着求斜渐近线了;二是计算失误,有的失误在最后几步,有的失误在第一步;三是求出一阶导之后就可以直接把驻点写出来,如果有需要的话就直接把增减区间列个表格写出来,然后极值也就一目了然了;四是画曲线图的时候记得把渐近线也画出来。

    下午学习了新的数据结构,有平衡二叉树、堆和图,图的遍历还没有学完。平衡二叉树就是将二叉搜索树变得高度尽可能的矮,这样搜索起来也就更高效。衡量树的平衡的指标就是平衡因子,也就是节点的左子树的高度减去右子树的高度,平衡二叉树的平衡因子的绝对值小于等于1,也就是说左子树的高度和右子树的高度只允许相差1,多了就说明是可以调整的,就是调整成新的平衡二叉树,这种事情一般都发生在给一棵平衡二叉树插入新的节点的时候。一般插入新的节点的时候,可以将此时的树的形态划分成四种,然后根据这四种分别提供平衡策略,其中有两个基本操作,就是左旋和右旋,具体的有点忘了,我得再看几遍。

    然后就是堆,堆就是一棵完全二叉树,但是其中的每个节点都不大于或不小于其左右孩子节点的值,分别被称为小顶堆和大顶堆。给定一棵完全二叉树,可以调整它,使他称为堆,一般都是从层序遍历序列的最后一个非叶子节点开始调整,将其与其孩子节点比较,按照要求更改位置。这就是向下调整。还有删除和插入操作。删除一般是删堆顶元素,其实就是用最后一个元素覆盖堆顶元素,然后让元素个数减1,然后再针对根节点向下调整。插入一般是放在完全二叉树的结尾,然后向上调整。

    有个著名的排序方法叫堆排序,就是用堆来对一个序列进行排序,如果考虑递增排序的话,且是大顶堆,那么建堆完成之后,堆排序就是取出堆顶元素,然后将堆的最后一个元素替换至堆顶,再进行一次针对堆顶元素的向下调整。我去,以上这些我都没有想起来,我是一边看着书一边打字,简称抄书,我忘了关于堆的很多知识,尤其是具体实现部分。关于堆的知识忘得实在是有点彻底。

    然后就是图这种数据结构,分为有向图和无向图两种。图的存储方式有两种,一是邻接矩阵,就是一个二维数组,其中保存的是边权;二是邻接表,他给每个节点开一个变长数组,保存可以到达的边的信息,然后将所有节点保存在一个数组里。邻接表的使用更广泛一些,因为它不像邻接矩阵那样会有浪费的地方。

    今天就学了以上这么多,还忘了不少,看来得一边学一边记住才行啊。

以上是关于Day13-一元函数微分学的几何应用题平衡二叉树堆图的基础知识的主要内容,如果未能解决你的问题,请参考以下文章

树堆(Treap)

树堆(Treap)

数据结构树与树的表示二叉树存储结构及其遍历二叉搜索树平衡二叉树堆哈夫曼树与哈夫曼编码集合及其运算

一元积分学几何应用

Day54: 判断是否为平衡二叉树

数据结构