自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 unity 中介者模式范例

实现Colleague1和Colleague2通过Mediator交流(SendMessage)。// 抽象同事类public abstract class Colleague{ protected Mediator m_Mediator = null; // 通过Mediator 对外沟通, 指向中介者 public Colleague(Mediator theMediator) { m_Mediator = theMediator; }

2021-02-01 20:55:53 207

原创 傅立叶变换 数学推导

傅立叶变换1. 三角函数的正交性三角函数系:集合{sin⁡nxcos⁡nxn=0,1,2...\begin{cases} \sin nx \\ \cos nx \qquad n = 0, 1, 2 ...\end{cases}{sinnxcosnxn=0,1,2...​有正交性:∫−ππsin⁡nxcos⁡mxdx=0n≠m\int_{-\pi}^{\pi} \sin nx \cos mx \mathrm{d}x = 0 \qquad \qquad n \neq m∫−π

2020-10-18 20:45:26 487 1

原创 《算法导论读书笔记》第二部分 第六章 堆排序

第二部分 排序和顺序统计量这一部分介绍了几种解决如下排序问题的算法:即输入n个数的序列,输出排列好的序列数据的结构名词:记录(record),关键字(key),卫星数据(satellite data) …为什么要排序很多计算机科学家认为排序是算法研究中最基础的问题,其原因有很多:有时应用本身就需要对信息进行排序。很多算法通常把排序作为关键子程序。现有的排序算法数量非常庞大,其中所使用的技术也非常丰富。我们可以证明排序问题的一个非平凡下界(在第8章中,我们会给出证明.

2020-10-05 22:11:38 1550 1

原创 《算法导论读书笔记》(第一部分 第四章 分治策略(4.1~4.2))

第一部分 基础知识(3)第四章 分治策略(4.1~4.2)前面的归并排序,利用了分治策略。分治策略中我们采用递归:每层递归中应用如下三个步骤:分解(Divide),解决(Conquer),合并(Combine)根据要不要递归又分为递归情况(recursive case)和基本情况(base case)。递归式递归式(recurrence)就是一个等式或不等式, 它通过更小的输入上的函数值来描述一个函数。递归式可以有很多形式。子问题的规模不必是原问题规模的一个固定比例。例子略本章

2020-09-14 16:53:01 573

原创 《算法导论读书笔记》第一部分(第三章 函数的增长)

第一部分(3)第三章 函数的增长第二章定义了算法运行时间增长量级简单地刻画了算法效率,并且允许我们比较可选算法的相对性能。虽然我们能够确定一个算法的精确运行时间,但是通常并不值得计算多余精度。本章给出几种标准方法来简化算法的渐进分析。包括Θ\ThetaΘ。3.1 渐进记号本节将定义一些基本的渐进记号,并介绍一些常见的活用法。渐进记号、函数与运行时间Θ(n2)就是函数an2+bn+c\Theta(n^2)就是函数an^2+ bn+ cΘ(n2)就是函数an2+bn+c本书中对其使用渐进

2020-09-14 16:50:33 527

原创 《算法导论读书笔记》第一部分(1~2章 算法基础)

第一部分 基础知识将引导思考算法的设计和分析问题, 简单介绍算法的表达方法,和将在本书中用到的一些设计策略, 以及算法分析中用到的许多基本思想;本书后面的内容都是建立在这些基础知识上的;第一章 算法在计算中的作用对算法及其在现代计算系统中地位的一个综述;本章将给出算法的定义和一些算法的例子;还说明算法是一项技术, 就像硬件, 图形用户界面, 面向对象系统和网络一样;什么是算法?为什么算法值得研究?相对于计算机中使用的其他技术来说算法的作用是什么?本章将回答这些问题;1.1

2020-09-14 16:47:01 762

原创 「C++程序设计笔记」第十章 泛型程序设计与C++标准模板库

第十章 泛型程序设计与C++标准模板库泛型程序设计及STL的结构泛型程序设计的基本概念编写不依赖于具体数据类型的程序将算法从特定的数据结构中抽象出来,成为通用的C++的模板为泛型程序设计奠定了关键的基础术语:概念用来界定具备一定功能的数据类型。例如:将“可以比大小的所有数据类型(有比较运算符)”这一概念记为Comparable将“具有公有的复制构造函数并可以用‘=’赋值的数据类型”这一概念记为Assignable将“可以比大小、具有公有的复制构造函数并可以用‘=’赋值的所有数据类型”

2020-09-13 21:00:15 173

原创 「C++程序设计笔记」第九章 模板与群体数据(二)

第九章 模板与群体数据栈栈类模板栈是只能从一端访问的线性群体, 是一种后进先出的数据结构;不同的程序对栈底和栈顶的策略有可能不同;栈的基本状态栈空, 栈满, 一般状态;(三种)栈的基本操作初始化入栈出栈清空栈访问栈顶元素检测栈的状态(满, 空)栈类模板实现示例//Stack.h#ifndef STACK_H#define STACK_H#include <cassert> template <class T, int SIZE = 50>cla

2020-09-13 20:59:07 138

原创 「C++程序设计笔记」第九章 模板与群体数据(一)

第九章 模板与群体数据模板函数模板声明template <模板参数表>函数定义示例template <class T> //定义函数模板void outputArray(const T *array, int count) { for (int i = 0; i < count; i++) cout << array[i] << " "; //如果数组元素是类的对象,需要该对象所属类重载了流插入运算符“<&

2020-09-13 20:57:56 302 1

原创 「C++程序设计笔记」第八章 多态性

第八章 多态性导学操作接口具有表现多种不同形态的能力,在不同环境对不同对象具有不同的处理方式;多态通过绑定实现,绑定就是将一个标识符名称与一段函数代码结合起来,比如函数表达式与函数体结合;分编译时绑定和运行时绑定;函数重载便是多态性,运算符重载也是;有部分运算符不能重载,比如三元运算符,::运算符和.运算符,且部分运算符不能重载为成员函数运算符重载的规则基本语法规则:只能重载已有的运算符;可以在类体里写函数重载,还可以在类外写全局函数重载;双目运算符重载为成员函数重载为类成员的运算

2020-09-13 20:56:54 129

原创 「C++程序设计笔记」第七章 继承与派生

第七章 继承与派生继承的基类和语法概述继承与派生是同一过程从不同的角度看保持已有类的特性而构造新类的过程称为继承在已有类的基础上新增自己的特性而产生新类的过程称为派生。被继承的已有类称为基类(或父类)派生出的新类称为派生类(或子类)直接参与派生出某类的基类称为直接基类基类的基类甚至更高层的基类称为间接基类目的继承的目的:实现设计与代码的重用。派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。单继承时派生类的定义语法class 派生类名:继

2020-09-13 20:55:38 244

原创 「C++程序设计笔记」第六章 数组,指针与字符串(二)

第六章 数组,指针与字符串(二)指针与数组指针访问数组元素pa=&a[0]; 或 pa=a;pa就是a[0],(pa+1)就是a[1],… ,*(pa+i)就是a[i].a[i], *(pa+i), *(a+i), pa[i]都是等效的。不能写a++,因为a是数组首地址、是常量。指针数组:数组元素是指针类型利用指针数组存放矩阵:#include using namespace std;int main() { int line1[] = { 1, 0, 0 };

2020-09-01 17:40:30 139

原创 「C++程序设计笔记」第六章 数组,指针与字符串(一)

第六章 数组,指针与字符串(一)数组的定义与初始化数组的定义与使用如:int a[10];int a[5][3];二维数组a[0] = a[5] + a[7];数组的存储与初始化元素间物理地址上的相邻,对应着逻辑次序上的相邻。数组名是数组首元素的内存地址。是常量;一维数组的初始化:列出全部元素的初始值 `static int a[10] = {0,1, 2, 3, 4, 5, 6, 7, 8, 9};`只给部分元素指定初始值 `static int a[10]

2020-08-28 18:12:07 438

原创 「游戏设计模式」 桥接模式 (Bridge)

桥接模式(Bridge)GoF: 将抽象与实现分离, 使二者可以独立的变化;误定义多数人以为这是"只依赖接口而不依赖实现"原则的另一个解释:定义一个接口类, 然后实现的部分在子类中完成;要点将实现"不同功能"交给"不同子类完成"也就是利用"继承的方式"来完成不同功能的实现类图注意可见, 每增加一个子类就要增加不同功能数的孙类, 扩充不方便;真的定义要点解除"继承实现"的限制;类图代码public abstract class RenderEngine{...}publi

2020-08-28 18:05:35 126

原创 「C++程序设计笔记」第五章 数据的共享与保护

第五章 数据的共享与保护导学变量和对象定义在不同的位置其作用域、可见性、生存期都不同。标识符的作用域和可见性作用域分类函数原型作用域局部作用域(块作用域)类作用域文件作用域命名空间作用域函数原形作用域函数原型中的参数其总用域始于"(", 结束于")"函数原形作用域举例double area(double radius);局部作用域大括号内类作用域整个类体和类外实现的成员函数文件作用域不再上述作用域就在文件作用域中;也称为静态作用域;始于声明点,结束于

2020-08-24 15:12:25 198

原创 「C++程序设计笔记」第四章 类与对象

第四章 类与对象面向对象程序的基本特点抽象对同一类对象的共同属性和行为进行概括,形成类。首先注意问题的本质及描述,其次是实现过程或细节;数据抽象:描述某类对象的属性或状态(对象相互区别的物理量);代码抽象:描述某类对象的共有行为特征或具有的功能;抽象的实现:类;例如:钟表抽象:数据抽象:int hour,int minute, int second;代码抽象:setTimer(),showTime()class Clock{ public: void s

2020-08-18 01:36:52 245

原创 makeFile基本介绍, 语法, 示例,通用makefile

本文介绍的内容已经足够小项目的使用了结尾有写好的模板

2020-08-14 22:04:59 994

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除