摘要:
复习的时候发现lambda表达式很有意思,以前又没有注意过,因此记录一下。 一、lambda表达式:C++11 C++11加入了lambda表达式。总的来说一个lambda表达式表达了一个函数对象。例如下面这个例子: 1 int a = 1; 2 auto out = [](int x) { cou 阅读全文
摘要:
7、更多的堆 前面从二叉堆开始对经典的堆进行了复习,包括左偏树、斜堆和二项队列。这一篇介绍两种更优秀(也很经典)的堆:斐波那契堆和配对堆。 一、斐波那契堆的前置知识 之前提到,如果我们能找到堆中某个结点的位置,调整其键值也是一个非常重要的操作。对小根堆来讲(做为例子),增加键值是很难维持复杂度的,一 阅读全文
摘要:
6、二项队列及其分析 作为摊还分析的另一个例子(实际上比斜堆更经典),这一篇我们来介绍二项队列。 一、二项树 二项队列是一列二项树组成的,先来介绍二项树: 定义:二项树是这样定义的: 1、一个单结点可以作为二项树$B_0$,其秩为$0$; 2、二项树$B_k$的秩是$k$,且是由两棵$B_{k-1} 阅读全文
摘要:
5、摊还分析入门——斜堆分析 这一篇来介绍摊还分析。摊还分析听上去像是平均分析,然而却不是那么严格。在介绍摊还分析之前,先来讲一个故事: 设两只小猫在相距1000米处相向而行,速度均为10m/s。两者的母亲从中心开始向某只小猫以50m/s的速度跑去,相遇后立刻掉头向另一只小猫跑去,速度仍是50m/s 阅读全文
摘要:
4、唯一因式分解定理 上一篇介绍到了公因式的问题,为探索多项式最重要的问题之一——因式分解问题,做了很好的准备。下面我们就来介绍这个问题。因式分解问题与整数的质因数分解问题很相似,我们先来介绍基本的不需要分解的多项式: 一、不可约多项式 不可约多项式的定义是类比质数做出的,实际上在因式分解问题里,它 阅读全文
摘要:
3、定积分(3):基本性质 解决了可积性问题,这一篇来介绍除定积分中值定理外的基本性质。 一、运算性质 1、线性性:设$f$、$g \in R[a,b]$,$\alpha$、$\beta \in R$,则有 $\int_{a}^{b} [\alpha f(x) + \beta g(x)]dx = \ 阅读全文
摘要:
4、二叉堆——前置知识复习1 一、堆简介 堆是一种数据结构,要求有效地完成两种基本操作:Insert(插入元素)和Pop(删除最值),其中最值可能是最大值、最小值或者其它复杂的最值。在这两种基本操作中,必然包括Top(寻找最值),但基本的堆不要求其他复杂的操作,比如合并,或者寻找任意元素。如果能够高 阅读全文
摘要:
4、大调的功能组、经典和声进行 一、副三和弦 上一篇介绍了大调的正三和弦:Ⅰ、Ⅳ、Ⅴ。这三个和弦都是大三和弦,在大调中扮演着主要的角色。除了这三个和弦,大调的调内和弦还剩下四个,它们都叫副三和弦。副三和弦的功能是什么样的呢? 请大家观察,主和弦Ⅰ由1、3、5三级音构成,调内和弦有哪些和弦也用到了这些 阅读全文
摘要:
3、平均分析入门——快速排序分析 这篇我们只分析快速排序,作为平均分析的经典例子。在此之后,我们暂时停下算法分析的学习,转而去复习堆。当我们复习到二项队列和斜堆之后,我们再来学习摊还分析。 一、快速排序简单介绍 快速排序是一个与归并排序同样经典的分治排序。归并排序的思想在于“先分治再合并”,快速排序 阅读全文
摘要:
3、最大公因式 一、最大公因式的概念 上一篇我们介绍了多项式之间的除法:整除和带余除法。这之后我们就可以探讨一个重要的问题,就是多项式的因式分解问题。在此之前,先来介绍公因式的概念。 定义:$K[x]$上的多项式$f$和$g$的公共因式称为它们的公因式,即若$p$是$f$、$g$的公因式,则有$p| 阅读全文