摘要:
摘抄自《数值线性代数(徐树方)》 Givens变换是一种将n维向量x在第(i,k)两个维度确定的坐标平面内进行旋转(从而将其中一个分量化0)的变换,因此它又叫平面旋转变换。 与Householder变换将一个向量中的若干个分量化0相比,Givens变换将向量的其中一个分量化0。 本篇先介绍Given 阅读全文
摘要:
整理自:《数值线性代数(徐树方)》 Householder变换是一种能将n维向量x变换到任一n维向量y的正交变换,由于从几何上看Householder变换通过x和y之间的垂直平分面将x“反射”到y,因此Householder变换又叫镜面变换; Householder的主要应用在于它能够将x变换成任意 阅读全文
摘要:
1. 自由变量(free variable)和闭包(closure) "In computer programming, the term free variable refers to variables used in a function that are neither local vari 阅读全文
摘要:
1. C++每一个流对象都维护一个缓冲区,缓冲区本质上是一个用于存储输入和输出序列的字符数组,并通过三个指针(begin_pointer,next_pointer,end_pointer)描述,缓冲区按刷新类型分为全缓冲,行缓冲和无缓冲.(具体见《C++ 输入输出流与本地化》)2. 常用的缓冲区函数... 阅读全文
摘要:
(摘自《算法导论》) 主定理: 若T(n)由递归式T(n)=aT(n/b)+f(n)对非负整数定义,其中a≥1,b>1为常数,f(n)为一函数,则: \[T(n) = \left\{ \begin{array}{l}\Theta ({n^{{{\log }_b}a}}),\exists \varep 阅读全文
摘要:
1. 8086处理器有以下寄存器: 类别 位数 名称 通用 16 AX, BX, CX, DX 8 AH,AL,BH,BL,CH,CL,DH,DL 指针 16 SP(stack pointer,堆栈指针),BP(base pointer,基址指针) 索引(变址) 16 SI(source index 阅读全文
摘要:
(由于本书出版于1996年,因此当时的新特性现在来说可能已经习以为常,但现在重新了解反而会起到了解C++变迁的作用) 1. 1990年后C++的重要改变 1). 增加了新的语言特性:RTTI,namespaces,bool,关键词mutable和explicit,enums作为重载函数之自变量所引发 阅读全文
摘要:
1. C++和C混合使用的前提之一就是编译器产生兼容的目标文件(.lib和.dll等).所谓"兼容",指的是编译器在"预编译器相依的特性上"一致,如int和double大小,参数压栈机制等,只有在这个基础上才能讨论结合使用C++和C模块的问题. 2. 在1的基础上,要结合使用C++和C的模块,主要有 阅读全文
摘要:
1. 假如程序有一个Chicken class,Lizard class,Animal class,其中Chicken class和Lizard class继承自Animal class,整个继承体系像这样: Animal负责具体化所有东吴的共同特征,Lizard和Chicken是需要特殊对待的两种 阅读全文
摘要:
1. 所谓"在未来时态下发展程序",指的是是程序需要具有良好的可扩展性和可维护性,它要求程序:功能齐全,接口易用,代码泛化,以下原则有助于实现这一目标: 1). 以C++本身表现各种规范而不是仅仅依赖于注释:如果某个class不打算作为基类,那么就应该以C++语法阻止派生(条款26);如果一个cla 阅读全文