Be Me in Real Life

做自己,笑不羁

中央财经大学《期货与期权》-中国大学Mooc
https://www.icourse163.org/course/CUFE-1002751024

主要讲解以期权、期货为代表的金融衍生品。除了需要使用数学之外,还需要通过算法的编程实现,掌握衍生品的定价和交易。

教材:

  1. 《期权、期货及其他衍生品》(原书第8版) ,约翰•赫尔 (John Hull),王勇等译,北京,机械工业出版社,2012。
  2. 《期权定价实验教程》,宋斌,清华大学出版社,2014。
阅读全文 »

本网站是我使用Github Pages+Gridea搭建的静态博客,域名当初买了趁着搞活动41元买了10年,计划长期使用,然而使用过程中发现这套配置唯一的短板就是国内访问速度太慢,因此收藏几个可以加速访问的方法。

阅读全文 »

程序生成过程

编译型语言的程序生成过程:


32位计算机中,常见的数据类型大小:

  1. 整数类
    短整型short int:所占内存大小:2byte;

    整型int:所占内存大小:4byte,表示范围:-2^312^31-1;
    unsigned int: 所占内存大小:4byte,表示范围:0
    2^32-1;

    长整型long int:所占内存大小:4byte,表示范围:-2^312^31-1;
    unsigned long: 所占内存大小:4byte,表示范围:0
    2^32-1;

    long long int:所占内存大小:8byte;
    unsigned long long int:所占内存大小:8byte;

    前缀:0、0x/0X分别代表8进制、16进制,不带前缀默认10进制;
    后缀:u/U、l/L分别代表unsigned、long;

    阅读全文 »

1. 利用assert的性质验证德·摩根律。

**assert()**:当且仅当括号内的运算结果为真时,程序可以正常运行;否则程序出错退出。

在开发过程中,经常会用到assert函数进行调试。
例如验证加法函数plus(1,1)返回的函数值是否为预期结果2,可以写成:
assert( plus(1,1) );
如果程序正常运行,说明函数正常。

阅读全文 »

C++的特点

优点:

  • 强大的抽象封装能力:这让C++语言具备了强大的开发工程能力,在封装的同时C++最大程度的保留了高性能;
  • 高性能:运行快,并且占用资源少一直是C++语言的追求;
  • 低功耗:特别适合在各种微型的嵌入式设备中运行高效的程序;

缺点:

  • 语法相对复杂,细节比较多,学习曲线比较陡;
  • 需要一些好的规范和范式,否则代码很难维护;

C++的应用

C++主要用来做什么:

  • 大型桌面应用(Adobe Photoshop、Google Chrome、Microsoft office)
  • 大型网站后台(搜索引擎)
  • 大型游戏后台(王者荣耀)
  • 大型游戏引擎(Unreal/Unity)
  • 编译器/解释器(LLVM/ClangGCC、JAVA虚拟机、JavaScript引擎)
  • 视觉和智能引擎(OpenCV、TensorFlow)
阅读全文 »

1. 指针引用和引用指针

1
2
3
4
int i= 42;
int *p;
int *&r = p; //正确,r是对指针p的引用,变量类型也是指针
int &*s = p; //错误,不可以生成引用类型的指针(因为引用不是变量)

要理解r的类型到底是什么,最简单的办法是从右向左阅读r的定义。离变量名最近的符号(此例中是&r的符号&)对变量的类型有最直接的影响,因此r是一个引用。声明符的其余部分用以确定r引用的类型是什么,此例中的符号*说明r引用的是一个指针。最后,声明的基本数据类型部分指出r引用的是一个int指针。
r是对int指针p的引用

阅读全文 »

1. 定义常量的两种方式:const和#define

尽量使用const方式定义常量,#define使用宏定义方式,不会在编译期进行,很难排错

1
2
#define PI 3.14159;        //编译前预处理过程进行处理,很难排错
const double PI =3.14159; //编译过程进行处理,容易排错
阅读全文 »

指针和引用的相同:

  1. 引用和指针都是地址的概念,引用是一个内存对象的别名,指针指向一个内存对象,保存了这个对象的内存地址。
  2. 不可以返回局部变量的引用/指针(例如函数返回内部变量的引用/指针)。
    原因是局部变量的生命周期。

指针和引用的不同:

阅读全文 »

剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 1:
输入:head = [1,3,2]
输出:[2,3,1]

限制:
0 <= 链表长度 <= 10000

第一反应的思路很简单,遍历并保存,然后逆序保存并返回另一个数组。很明显虽然时间、空间代价O(n)。

阅读全文 »

剑指 Offer 03. 数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

示例
输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3

限制:
2 <= n <= 100000

阅读全文 »
0%