自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 DirextX 11游戏开发(1)

目录链接库DirectX 数学库链接库在运行DX11的官方实例时,经常会出现无法解析的外部符号__imp__CoCreat…之类的错误,这是因为DX的一些函数调用了Windows SDK中的系统函数,因此需要链接相关的库。目前每个DX实例可以正确运行需要链接的库如下:X3daudio.libd3dx10d.libd3dx9d.libdxerr.libdxguid.libwinmm.libcomctl32.libkernel32.libUser32.libwsock32.libAd

2021-01-18 15:39:00 427

原创 Python—类

目录类相关知识实例实例的属性、方法属性使用属性值初始化属性值修改把类赋给属性类改造继承重写方法私有类模块的调用静态类类相关知识类的定义:class 类名():class关键字:用于类的定义类名:类文档说明:''' '''类函数:必须依赖类或实例而存在保留函数__init__和self关键字:a) 保留函数即不能用其他函数代替该函数的作用(如构造函数)b) self关键字在实例使用时,用于传输实例对象(其实传递的是实例对象在内存中的一个地址)c) 所有的实例可以调用的属性,必须在__in

2021-01-10 14:49:10 189

原创 Python—函数

目录函数的基本定义函数的值传递函数的作用域递归函数函数的基本定义函数定义的基本语法:def 函数名([参数]): 函数体[return 返回值]不带参数的函数def 函数名(): 函数体带参数的函数def 函数名(参数): 函数体带返回值的函数def 函数名(): 函数体 return 返回值函数文档:用'''...'''包围的对函数的解释把函数放入模块并调用:a). 用import语句导入整个函数模块:import find_factorb).

2021-01-09 20:50:13 192

原创 Python—字典

目录字典基本知识字典元素的添加字典元素值的查找字典值的修改字典元素删除字典的遍历字典的其他方法字典嵌套字典嵌入字典列表嵌入字典字典嵌入列表字典基本知识定义:字典(Dict)是可变的无无序集合,同时是一种以键值对为基本元素的可以存储各种数据类型的集合,用大括号({})表示字典的开始和结束,元素之间用逗号(,)分隔。键值对由键(key)和值(value)组成,中间用冒号(:)分隔。字典内部结构是哈希表构成,通过唯一的键值访问对应的值,所以字典对象没有提供排序功能(类似C++的unordered_map

2021-01-09 17:32:34 161

原创 Python—列表与元组

列表列表(list)可变的序列,也是一种可以存储各种数据类型的集合,用中括号[]表示列表的开始和结束。列表的基本操作:方法名称方法功能stl的对应append(x)在列表尾部添加元素push_back(x)clear列表清空list.clear()copy复制生成另一个列表copy(list.begin(),list.end())count统计指定元素的个数-extend两个列表合并push_backindex返回指定元素的下标

2021-01-06 20:45:37 133

原创 Python—变量与循环

目录变量字符串字符串的基本操作数字和运算符算术运算符整数浮点数复数布尔二进制比较运算赋值运算数据类型转换变量在Python语言中,变量在指定的同时,必须强制赋初值,否则编译器会报错。多个变量赋值—Python允许同时为多个变量赋值:one=two=three=10或one,two,three=10,20,30。one、two、three三个变量在内存中指向同一个地址,获得同一个值10。变量值类型—Python语言变量值在赋值后才被隐性确定:a=0,a就是整数类型;b=OK,b就是字符串类型;c=T

2021-01-06 16:22:04 773

原创 C++——内存管理

C++——内存管理Primitives基础C++ new/deleteC++ new[]/delete[]C++ new()malloc/freestd::allocatorother allocatorsloki::allocatorPrimitives基础C++内存分配的四个Prinitives:区别:第7行::operator new(512)实际上类似第1行的malloc(512),调用的就是malloc,第8行也类似第2行;malloc/free只是申请了一段连续的空间,而new

2020-12-20 15:42:37 183

原创 绘画与摄影

2020-10-04 14:47:38 111

原创 字节跳动开发方向笔试

1. 寻找循环最小子串输入一个字符串,判断改字符串是否是完全循环,如果循环,则输出最短循环子串;反之输出自身;循环:输入abababab,输出最短循环子串:ab不循环:输入:abc,输出:abc2. 快速幂实现计算器实现加法:1 2 +,输出:3实现减法:1 2 -,输出:-1实现乘法:1 3 *,输出:3实现幂运算:2 3 ^,输出:8注:结果需要对1e9 + 7 取模这个题主要就用快速幂实现幂运算,然后就是乘法可能会溢出,所以需要使用long long类型并进行取模:

2020-09-20 22:22:35 341

原创 C++——高级教程

目录C++——异常处理抛出异常捕获异常标准的异常C++——动态内存new & delete 运算符数组的动态内存分配对象的动态内存分配C++——异常处理异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。包括三个关键字:try、catch、throw。throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw关键字来完成的。catch: 在您想要处理问题的地方,通过异常处理程序捕获异常。cat

2020-09-20 11:41:33 1376

原创 设计模式(二)——原型、单例、适配器、桥接模式

05 原型模式概念原型模式:使用原型实例指定带创建对象的类型,并且通过复制这个原型实例创建型的对象三大角色抽象原型类(AbstractPrototype):声明克隆clone自身的接口;具体圆形类(ConcretePrototype):实现clone接口;客户端(Client):客户端中声明一个抽象原型类,根据客户需求clone具体原型类对象实例。克隆方法将对象包含的所有属性都创建一份拷贝,但会产生两种拷贝结果:浅拷贝:如果原型对象的成员使值类型(int,double,

2020-09-17 16:52:22 135

原创 设计模式(一)——简单工厂、工厂方法、抽象工厂、建造者模式

设计模式01 简单工厂模式基本流程:设计一个抽象产品类,它包含一些公共方法的实现从抽象产品中派生出多个具体产品类,如篮球、足球、排球,具体产品类中实现产品生产相关的代码设计一个工厂类,工厂类中提供一个生产各种产品的工厂方法,该方法根据传入参数(产品名称)创建不同具体产品类对象客户只需要调用工厂类的工厂方法,并传入具体产品参数,即可得到一个具体的产品对象简单工厂模式:定义一个简单工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类三大角色:工厂f

2020-09-17 11:46:15 347

原创 C++——面向对象

1. C++——类 & 对象

2020-09-17 11:26:22 127

原创 C++——面向过程

1. 数据类型C++数据类型包括字符型(char)、宽字符型(wchar_t)、整型(int)、浮点型(float)、双浮点型(double)、布尔型(bool),操作系统会根据变量的数据类型来分配内存和决定再保留内存中存储什么。基本类型可使用一个或多个类型修饰符:有符号型(signed)、无符号行(unsigned)、短(short)、长(long),具体存储数据范围如下:typedeftypedef type newname;typedef int feet;feet distance;

2020-09-16 14:00:52 1135 1

转载 C++面试题(转载)

第一部分:计算机基础1. C/C++内存有哪几种类型?C中,内存分为5个区:堆(malloc)、栈(如局部变量、函数参数)、程序代码区(存放二进制代码)、全局/静态存储区(全局变量、static变量)和常量存储区(常量)。此外,C++中有自由存储区(new)一说。全局变量、static变量会初始化为零,而堆和栈上的变量是随机的...

2020-09-09 11:22:18 2918

原创 数据结构——哈夫曼树

相关定义路径长度:路径上所经历边的个数**结点的权:**结点被赋予的数值树的带权路径长度:WPL,书中所有叶结点的带权路径长度之和,记为:WPL=∑i=0nwiliWPL=\sum_{i=0}^{n} w_i l_iWPL=i=0∑n​wi​li​叶节点个数相同,但是树的带权路径长度不一定相同!哈夫曼树定义:最优二叉树,含有nnn个带权叶子结点带权路径长度最小的二叉树构造将nnn个结点作为nnn棵仅含有一个根结点的二叉树,构成森林FFF;生成一个新的结点,并从FFF中找出权

2020-09-02 22:28:04 1302

原创 数据结构——平衡二叉树

平衡二叉树(AVL)任意结点的平衡因子的绝对值不超过1(左子树高度−-−右子树高度)。高度为hhh的最小平衡二叉树的结点数NhN_hNh​:右子树可以有三种选择:NhN_{h}Nh​、Nh−1N_{h-1}Nh−1​、Nh−2N_{h-2}Nh−2​。如果是NhN_{h}Nh​,则加上根结点高度会超过hhh,不可能;h−1h-1h−1层的结点数一定大于h−2h-2h−2层的结点数,因此最小的平衡二叉树应在h−2h-2h−2层的子树上。Nh=Nh−1+Nh−2+1N_h=N_{h-1}..

2020-09-02 22:25:17 432

原创 数据结构——二叉排序树

二叉排序树(BST)也称为二叉查找树。二叉排序树或者为空树,或者为非空树,当为非空树时,满足(递归定义):若左子树非空,则左子树上所有结点关键字值均小于根结点的关键字;若右子树非空,则右子树上所有结点关键字值均大于根结点的关键字;左子树、右子树本身也分别是一棵二叉排序树。组织内存索引二叉排序树是适用于内存储器的一种重要树形索引(常用红黑树、伸展树等以维持平衡)外存常用B/B+数中序遍历序列:1、2、3、4、5、7、8、10、16(依次递增)左子树结点值<<<根..

2020-09-02 22:18:29 2089

原创 数据结构——树的应用并查集

定义一种简单的几何表示:一个集合有若干个元素,该集合也被划分成若干个子集。通常用树的双亲表示法(用数组存放每个结点的元素,用伪指针存储该结点双亲结点的索引)作为并查集的存储结构。通常用数组元素的下标表示元素名,用根结点的下标代表子集合名,根结点的双亲结点表示负数。应用初始化——Initial(s)功能:将集合SSS的每个元素都初始化为只有一个单元素的子集合。并——Union(S, Root1, Root2)功能:把集合SSS中的子集合(互不相交)Root2Root2Root2并入子集合Root

2020-09-02 22:16:19 228

原创 数据结构——树、森林、二叉树的转换

树、森林与二叉树的转换树转换二叉树规则:左孩子右兄弟,每个结点左指针指向它的第一个孩子结点,右指针指向它在树中相邻兄弟结点。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IetW7G2k-1599055720423)(tree_bitree.png “树”)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XBHXlg1n-1599055720427)(tree_bitree1.png “二叉树”)]二叉树转换为树规则: 逆过程,将指针

2020-09-02 22:09:17 2162

原创 数据结构——树的存储结构

双亲表示法采用一组连续的存储空间来存储每个结点,同时在每个结点中增设一个伪指针,指示双亲结点在数组中的位置,根结点的下表为000,其伪指针域为−1-1−1。​#define MAX_TREE_SIZE 100 typedef struct{ // 每个结点 ElemType data; // 结点数据 int parent; // 结点双亲}PTNode; typedef struct{ // 树 P..

2020-09-02 22:07:52 367

原创 数据结构——线索二叉树

二叉树的遍历顺序**前序遍历:**1、2、4、5、3、6**中序遍历:**4、2、5、1、6、3**后序遍历:**4、5、2、6、3、1线索二叉树利用二叉树链表的空指针实现线索二叉树。线索化:若无左子树,则将其左指针指向其前驱结点;若无右子树,则将其右指针指向其后继结点;先序线索二叉树**前序遍历:**1、2、4、5、3、6中序线索二叉树(较为常用)**中序遍历:**4、2、5、1、6、3中序遍历:第一个结点是最左侧结点,最后一个结点是最右边的结点。前驱结点:若..

2020-09-02 22:04:32 695

原创 数据结构——二叉树的遍历

深度优先搜索按某条路径访问树中每个结点,树的每个结点均被访问一次,而且之访问一次,包括先序遍历、中序遍历和后序遍历,这三种遍历都是深度优先遍历(DFS)。递归算法非常简洁——推荐使用当前编译系统优化效率很不错特殊情况下使用栈模拟递归理解编译栈的工作原理理解深度优先遍历的回溯特点有些应用环境资源限制不适合递归先序遍历(PreOrder)“中左右”的递归顺序:访问根节点;先序遍历左子树;先序遍历右子树。vector<int> preorderTraver..

2020-09-02 22:01:39 418

原创 数据结构——二叉树的存储结构

顺序存储用一组连续的存储单元依次自上而下、自左向右存储完全二叉树上的结点元素。完全二叉树:依次编号,结点iii,左孩子2i2i2i,右孩子2i+12i+12i+1。非完全二叉树:无法进行存储,可将其补成完全二叉树,空结点为000缺点:占用内存空间较多,适用于完全二叉树链式存储用链表来存放二叉树,二叉树中每个结点用链表一个链结点来存储。typedef struct BiTNode{ ElemType data; // 保存数据 struct BiTNode *l.

2020-09-02 21:55:20 400

原创 数据结构——二叉树的概念

树是一种典型的数据结构(逻辑结构),可以用来描述分支结构,属于一种分层、非线性结构。树的定义是递归的,因此树是一种递归的数据结构。每个结点有唯一的前驱结点,有一个或多个后继结点。(nnn个节点有n−1n-1n−1条边)基本术语:度:结点的子结点的个数;树的度:树种最大的度数;分支结点:度大于000的结点;叶子结点:度为000的结点;结点层次:根结点为第一层,往下递增;结点高度:从叶结点开始自底向上逐层累加;结点深度:从根结点自顶向下逐层累加;树的高度(深度):树中结点的最大层数;有序.

2020-09-02 21:51:45 873 1

转载 游戏开发入门——图形渲染

渲染一般分为离线渲染与实时渲染,游戏中我们用的都是实时渲染。 1.实时渲染又可以分为2D渲染与3D渲染。 早期的2D渲染,是通过把一块内存(图片像素数据)往另一块(显示缓冲区)上搬运的方式,实现图片绘制的。 不过现在很多2D渲染的渲染方式已经采用3D渲染了。原因是当前显卡从架构上就利于并行处理,绘制速度更快,可以很方便提供各种3D效果,还节省图片资源内存。 3D的渲染简单概括一下,就是把一个空间中的模型所有点的数据取出来,经过空间转换到2维屏幕上,然后根据各项参数与数据在绘制到屏幕上。 现在几乎

2020-08-30 15:16:38 1003

转载 游戏开发入门——设计模式

1.有必要深刻的认识到设计模式的意义 游戏开发是一个软件工程,他的特点是需求极易变化。对于任何一个软件工程,我们要从代码的组织方式上来提高其可读性(别人也很容易理解),安全性(不能经常出bug),易用性(逻辑复杂,思路太偏,使用上各种麻烦),健壮性(要能良好的处理意外情况),可维护性(是否容易修复与修改),可拓展性(是否容易添加功能),封装和复用性(一段代码不要到处拷贝粘贴) 2.游戏项目的特点 对于游戏项目来说,除了上面的问题,我们更要注意其可拓展性,因为游戏的需求每天都可能发生变化,所以在写游戏逻

2020-08-30 15:13:28 485

转载 适合初学者理解的A*(A星)算法(转)

http://blog.csdn.net/daydayup_chf/article/details/17607209

2015-11-02 08:42:55 1522

转载 串的模式匹配算法

设有主串s和子串t,子串t的定位就是要在主串s中找到一个与子串t相等的子串。通常把主串s称为目标串,把子串t称为模式串,因此定位也称作模式匹配。模式匹配成功是指在目标串s中找到一个模式串t;不成功则指目标串s中不存在模式串t。以下算法假设串采用顺序存储结构,即:#define MAXSIZE 50typedef struct{    char data[MAXSIZ

2015-10-11 09:37:10 1297

转载 How to Break in as a Game Programmer(如何成为一名游戏程序员)

Sitting in a tiny cramped cubical, wearing an uncomfortable and stuffy suit, working on 25-year old financial software with a boss over your shoulder asking for those TPS reports ... Or sipping a beer

2015-10-01 01:45:46 1026

转载 字符串匹配的KMP算法

该文档转自:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html     字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以

2015-09-30 14:35:59 357

原创 数据结构顺序栈的创建、初始化、出栈、入栈及销毁

开始学习数据结构已经一个月了,一共上了16节课,开始还是有点困难,毕竟过了一个暑假,C++的知识有些遗忘,还有就是指针部分学习海华丝不够扎实,所以这个月在数据结构这个课程上面,还是有点点吃力,所以先开始问同学,然后慢慢在网站上面找代码,于是把平时作业的代码发到博客,复习的时候不至于想不起思路~~一下代码还是参考了其他朋友的代码,新手上路,请多关照~#include#include  

2015-09-26 22:56:38 7062 1

助学协会,教学PPT模版

一个很好看的PPT,动画效果好,配色简介明了,扁平风格

2015-11-06

计算机网络第六版

计算机网络课后习题,讲了一些比较重要的习题

2015-06-30

空空如也

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

TA关注的人

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