- 博客(22)
- 收藏
- 关注
原创 二叉树层次遍历的另一种思想
昨天刷题的时候,刷到一个关于二叉树层次遍历的题,一直不理解为什么二叉树应用这么广泛,因为二叉树的英文名是Binary Tree(二进制数),让我觉得不解。我发现,在二叉树的层次遍历中,每个层次的节点 都可以通过一个层次位的二进制数表示(根节点为0层),比如一颗满二叉树,从根节点到第三层要经过三次分叉,每次分叉有两个选择,我们假设左分叉为0,右分叉为1,则第三层的节点从左到右的二进制表示为:...
2019-09-05 10:44:43
453
原创 二叉树遍历
如何遍历一颗树有两种通用的遍历树的策略:深度优先遍历(DFS)在这个策略种,我们采用深度作为优先级,以便从根开始一直到达某个确定的叶子,然后再返回根到达另一个分支。深度优先搜索策略可以根据根节点、左孩子和右孩子的相对顺序被细分为 先序遍历、中序遍历、 和 后序遍历。广度优先遍历(BFS)我们按照高度顺序一层一层的访问整棵树,高层次的节点将会比低层次的节点先被访问到。...
2019-06-03 16:34:49
151
原创 CG表达式与控制语句
Cg中的表达式,表达式由操作符(operator)关联一个或多个操作数(operand)构成,我们首先阐述各种类型的操作符,并结合数据类型讲解操作符的具体使用方法。cg中的操作符与c语言中的类似(操作符的功能和写法与c相同,但用法不尽相同),按照操作符的功能可以划分为:关系操作符、逻辑操作符、条件操作符。cg中有一类较为独特的操作符,称为swizzle操作符,这个操作符用于取出向量类型变量中的分...
2019-05-07 18:04:38
306
原创 CG 数据类型
着重介绍Cg语言中预定义的内置(built in)的、或称为基本(primitive)的数据类型。然后介绍可以用来声明对象的各类类型,主要是数组和结构类型。需要体会内置向量类型和数组类型的区别。基本数据类型cg 支持7种基本的数据类型:float,32位浮点数据,一个符号位。浮点数据类型被所有的profile支持(但是directX8 pixel profiles 在一些操作种降低了浮点...
2019-05-07 14:30:47
725
转载 Cg语言概述
Cg(C for Graphcis)语言,是NVIDIA 与Microsoft 合作研发,旨在为开发人员提供一套方便、跨平台(良好的兼容性),控制可编程图形硬件的高级语言。Cg 语言的语法结构与C 语言非常类似,使用Cg 编写的着色程序默认的文件后缀是*. Cg。开启cg之旅在NVIDIA 的http://developer.nvidia.com/object/cg_toolkit.ht...
2019-05-07 10:30:41
2203
转载 Shader Language
shader language,称为着色语言,shade在英语是阴影、颜色深浅的意思,Wikipedia上对shader language 的解释为基于物体本身属性和光照条件,计算每个像素的颜色值。实际上这种解释具有明显的时代局限性,在gpu编程发展的早期,shader language 的提出目标是加强对图形处理算法的控制,所以对该语言的定义亦针对于此,但随着技术的进步,目前的shader l...
2019-05-06 18:25:50
545
翻译 Unity Shader2
Unity中使用的着色器语言着色器编译器在Unity中,着色器程序是用HLSL语言的变体编写的(也称Cg,但对于大多数实际应用,两者是相同的)。目前,针对不同的平台之间最大的可移植性,在DX9风格的HLSL写(如使用DX9的风格sampler2D和tex2D纹理取样,而不是DX10风格Texture2D,SamplerState和tex.Sample)。着色器编译器内部,不同着色器编译器用...
2019-03-08 14:07:29
199
翻译 Unity Shader1
Unity Shader1Materials,Shader 和 TexturesShader参考Surface Shader编译指令必选参数Materials,Shader 和 TexturesUnity中的渲染使用材质,着色器和纹理。三者都有着密切的关系。材质通过包含对其使用的纹理引用,平铺信息,颜色色调等来定义表面的渲染方式。着色器是小脚本,其中包含用于计算每个像素颜色的数学计算和算...
2019-03-04 16:23:22
128
原创 c#中的泛型(generic)
泛型特性提供了一种更优雅的方式,可以让多个类型共享一组代码。泛型允许我们声明类型参数化的代码,可以用不同的类型进行实例化。也就是说,我们可以用“类型占位符”来写代码,然后再创建类的实例时知名真实的类型。c#提供了5种泛型:类、结构、接口、委托、方法。类型参数的约束约束使用where子句列出。每一个有约束的类型参数有自己的where子句。如果形参有多个约束,它们再where子句种使用逗号...
2019-02-25 23:55:35
188
原创 C# 中的interface
什么是接口interface是指定一组函数成员而不实现它们的引用类型。所以只能类和结构来实现接口。 ----我的理解是它是一种基类。如果要使用接口:必须在基类列表后面列出接口名称。必须为接口的每一个成员提供实现。接口声明接口声明只能包含以下非静态成员函数的声明:方法属性事件索引器这些函数成员的声明不能包含任何实现代码...
2019-02-25 02:15:54
719
原创 C#中的事件event
发布者和订阅者很多程序都有一个共同的需求,即当一个特定的程序事件发生时,程序的其他部分可以得到该时间已经发生的通知。额。。。看了看事件,感觉就是封装了个委托,不写了...
2019-02-23 17:32:48
131
原创 C# 中的委托(delegate)
如果你有c++背景,理解委托的的最快方式就是把它看作一个类型安全的,面向对象的函数指针。我所理解的委托,就是可以一次执行多个方法。什么是委托delegate可以认为委托是持有一个多多个方法的对象。当然,正常情况下你不会想要”执行“一个对象,但委托与典型的对象不同。可以执行委托,这时委托会执行它所”持有“的方法。委托概述委托和类一样,是一种用户定义的类型。但类表示的是数据和方法的集合,而委...
2019-02-23 05:55:06
150
原创 C# 中的enum(枚举)
枚举是由程序员定义的类型,与类与结构一样。枚举是值类型枚举只有一种类型的成员:命名的整数值常量可以把冒号个类型名放在枚举名之后,这样就可以使用int之外的整数类型。...
2019-02-23 01:21:30
225
原创 C# 中的struct(结构)
啥是struct结构是程序员定义的数据类型,与类非常类似。他们有数据成员和函数成员。虽然与类相似但是又许多重要的区别:类是引用类型而结构是值类型;结构是隐式密封的,这意味着他们不能被派生;结构可以有实例构造函数和静态构造函数,但不允许有析构函数。结构也包含一个隐式的无参构造函数,用户不能定义无参构造函数。结构中字段初始化语句是不允许的。结构隐式密封,不支持继承。装箱和拆箱如同...
2019-02-22 16:24:28
1948
原创 C#中的using语句
using语句不是using指令! using指令是指在程序开头的 using System; 之类的。某些类型的非托管对象有数量限制或很耗费系统资源。在代码使用完他们后,尽可能快地释放他们是非常重要的。using语句有助于简化该过程并确保这些资源被适当地处置(dispose)。资源资源是指一个实现了System.IDsiposable接口的类或结构。简而言之,接口就是未实现的函数成员的...
2019-02-22 16:02:45
1303
原创 C#中的跳转语句
当程序控制流达到跳转语句时,程序执行被无条件转移到程序的另一部分。跳转语句包括:break;continue;return;goto;throw;break:用于跳出循环。continue:在循环语句中不执行continue之后的语句。标签语句标签语句由一个标识符后面跟着一个冒号再跟着一条语句组成:Identifier(标识符):Statement(声明)goto语...
2019-02-22 15:48:05
603
原创 C#复习2
C#复习 22.类(class)引用参数输出参数参数数组可选参数2.类(class)类是一个面向对象的概念,就是把数据和函数封装成一个集合,可以把现实中的事物抽象成一个类,数据代表熟悉,函数代表功能。引用参数1.使用引用参数时,必须在方法的声明和调用时都使用ref修饰符。2.实参必须是变量,而且在用作实参前必须被赋值。如果是引用类型变量可以赋值一个引用或者null。输出参数1.和引用...
2019-02-21 22:23:52
157
原创 C# 1
读作C Sharp。一种计算机语言。计算机语言的发展史大概是:机器码(就是01010100111101010101这种)----汇编语言(机器码简单的翻译了一下,让人更容易看懂)-------C语言-----C++---------C# 忽略了其他的语言了啊! 语言其实也就是个编译器,不管什么计算机语言最终都要生成机器码才可以在机器上运...
2019-02-19 00:55:07
172
1
翻译 关系数据库标准语言SQL
sql概述 SQL(structured query language)结构化查询语言,是关系数据库的标准语言 sql示例SELECT Sno,GradeFROM SCWHERE Cno=‘3’ORDER BY Grade DESC;从表SC中,选取 学号Sno和成绩Grade满足条件 课程号Cno=“3”按照 成绩 Grade降序排列 ...
2019-02-18 14:19:02
145
翻译 数据库系统概论1
1.1.1数据库系统的4个基本概念数据 data数据库 database数据库管理系统 database management system,DBMS数据库系统 database system,DBS1.数据数据是数据库中存储的基本对象数据的定义: 描述事物的符号记录数据的种类: 数字、文字、图形、图形、音频、学生的档案记录、订单情况等等数据的含义称为数据的语义,数据与其语义是不可分的。2.数据...
2018-03-27 15:34:05
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人