- 博客(228)
- 资源 (5)
- 收藏
- 关注
原创 两个栈实现一个队列
队列是先进先出,而栈是先进后出;考虑到我们取栈顶元素的便利性,我们在实现时使得栈顶等于队列头;由于栈的pop弹出栈顶元素,而队列的pop也是弹出栈顶元素,所以我们需要特别处理的是插入操作。由于往栈中添加元素相当于往队列头添加元素,因此我们需要在两个队列中进行元素的转移,比较简单的实现是:1.q1和q2在任一时刻至少有一个为空,即如果有元素,所以元素只在同一个队列中。 2.当有元素需要插入时,将插入...
2018-05-30 00:06:04 105
原创 静态链接库LIB和动态链接库DLL的区别
静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可...
2018-05-29 23:26:21 181
原创 堆排序
构造堆在构造有序堆时,我们开始只需要扫描一半的元素(n/2-1 ~ 0)即可,为什么?因为(n/2-1)~0的节点才有子节点,如图1,n=8,(n/2-1) = 3 即3 2 1 0这个四个节点才有子节点 (图1:初始状态) 所以代码4~6行for循环的作用就是将3 2 1 0这四个节点从下到上,从右到左的与它自己的子节点比较并调整最终形成大顶堆,过程如下: 第...
2018-05-29 23:17:04 156
原创 字节对齐
1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2) 结构体每个成员相对结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding); 3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节{trailing padding}。 对于以上规...
2018-05-29 22:21:55 188
原创 C++ 引用 和 指针
一、变量的引用:引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名; 例:char ch; char &rp=ch; 1)引用仅是变量的别名,而不是实实在在地定义了一个变量,因此引用本身并不占用内存,而是和目标变量共同指向目标变量的内存地址. 2)表达式中的取地址符&不再是取变量的地址,而...
2018-05-29 22:11:39 126
原创 线程安全C#
12345678910111213141516171819202122232425262728293031using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading; namespace ThreadTest0902{ public class...
2018-05-29 21:28:41 963 1
原创 碰撞检测算法:点和矩形碰撞、点和圆形碰撞、矩形碰撞、圆形碰撞
点和矩形碰撞[java] view plain copy/** * * @param x1 点 * @param y1 点 * @param x2 矩形view x * @param y2 矩形view y * @param w 矩形view 宽 * @param h 矩形view 高 * @return ...
2018-05-29 21:16:59 5034
原创 循环移动数组
数组循环右移可以把数组分成两份,第一部分是循环右移的数目,剩下的是另一部分设要移动的为A,剩下的为B那么这个数组的就是AB循环移动后数组变成BA实例:AB = 0 1 2 3 4 5 6 7A =0 1 2B =3 4 5 6 7我们需要实现的结果是BA = 3 4 5 6 7 ...
2018-05-29 20:54:08 159
原创 tcp 与udp
TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速...
2018-05-29 20:46:31 107
原创 游戏优化总结
内存优化贴图:关闭mipmap关闭读写操作贴图拆2张格式为2的n次方不超出1024*1024模型:总面数小于10w单面小于1500, 总个数小于50个代码:用for代替foreachCPU优化Draw Call LOD、Occlusion Culling和Culling Distancemesh break 合并 mesh 一个material给一次gpu算一次dc在ui里面会根据深度排序,然后...
2018-05-27 17:04:29 791
原创 UnityCPU优化
转自https://weibo.com/p/1001603943936308719227?sudaref=passport.weibo.com性能优化是项目开发中一个永恒的话题。用户的需求和项目的要求总在不停地增长,同屏人数、屏幕特效和场景复杂度永远在向着“榨干”硬件的趋势逼近。所以,无论硬件设备发展到何种程度、研发团队有多么丰富的经验积累,性能优化依旧是一个令人棘手却又难以规避的问题。项目的性能...
2018-05-27 16:51:10 1839
原创 爬虫入门
http://www.cnblogs.com/wupeiqi腾讯课堂https://www.luffycity.com/?source=wusir 路飞学院
2018-05-26 16:23:28 133
原创 矩阵的几何解释
一般来说,方阵能描述任意线性变换。线性变换保留了直线和平行线,但原点没有移动。线性变换保留直线的同时,其他的几何性质如长度、角度、面积和体积可能被变换改变了。从非技术意义上说,线性变换可能“拉伸”坐标系,但不会“弯曲”或“卷折”坐标系。矩阵是怎样变换向量的 向量在几何上能被解释成一系列与轴平行的位移,一般来说,任意向量v都能写成“扩展”形式:另一种略有差别的形式为:注意右边的单位向量...
2018-05-26 16:23:23 2202
原创 矩阵的基本运算
一、矩阵的加法与减法 1、运算规则 设矩阵,, 则 简言之,两个矩阵相加减,即它们相同位置的元素相加减! 注意:只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的. 2、 运算性质 (假设运算都是可行的) 满足交换律和结合律 交换律 ; 结合律 .二、矩阵与数的乘法 1、 运算规则 数乘矩阵A,就是...
2018-05-26 16:23:17 103919
原创 shaderforge
原文链接:https://blog.uwa4d.com/archives/USparkle_ShaderForge.html这是侑虎科技第192篇原创文章,作者文雅。欢迎转发分享,未经作者授权请勿转载。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。(QQ群465082844)同时,作者也是U Sparkle活动参与者哦,UWA欢迎更多开发朋友加入 U Sparkle开发者计划,这个舞台有...
2018-05-26 16:23:09 743
原创 面试技术点
极客u3d需要技能:ui效果 初级逻辑数据管理 初级 sdk接入,物理实现游戏内容部署 中级 美术接口,模块搭建项目框架搭建 高级 调整需求,优化,发布,维护初级:C#语言与数据结构算法 编程功底unity3d引擎使用 项目经验3d与数学知识 数学基础英语阅读能力 学习能力中级:数据结构:数组,链表...
2018-05-25 13:44:27 201
原创 编辑器 unity
Unity3D编辑器插件开发 young路在脚下 关注2016.09.12 19:03* 字数 1655 阅读 3993评论 9喜欢 59学习视频连接地址目录:Unity3D插件开发.png一,菜单项相关操作1.菜单项(MenuItem)首先在Asset目录下新建一个Editor文件夹,然后在该目录下添加一个脚本MenuTest.cs代码内容:using UnityEngine;using Sy...
2018-05-25 13:44:23 569
原创 数据结构3
数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。名词定义 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。记为:Data_Structure=(D,R)其中D是数据元素...
2018-05-25 13:44:15 342
原创 数据结构2
什么是逻辑结构? 简单说,逻辑结构就是数据之间的关系。而按数据之间的关系来说,逻辑结构大概可以分为两种:线性结构和非线性结构(集合、树、网)。线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继。例如:线性表,典型的线性表有:顺序表、链表、栈(顺序栈、链栈)和队列(顺序队列、链队列)。它们共同的特点就是数据之间的线性关系,除了头结点和尾结点之外,每个结点都...
2018-05-25 13:44:09 283
原创 数据结构1
Stack 堆栈 push 推进 pop 推出Queue 队列 enqueue 推进 dequeue 推出System.Collections.Stack objStackPop = new System.Collections.Stack(); objStackPop....
2018-05-25 13:44:04 189
原创 算法复杂度
在算法分析中,我们将语句总的执行次数记为T(n)进而分析T(n)随n的变化情况确认T(n)的数量级。一般情况下,T(n)随n增大变化最缓慢的算法为最优算法。根据定义,T(n)的求法是很简单的,也就是简单的数数。举个例子:int i;for(i=0;i<n;i++);这里int执行一次,for循环里的语句执行n次,所以T(n)=n+1;但是当n变大时,这个常数就显得无足轻重了,所以它的算法复...
2018-05-25 13:43:56 239
原创 递归
什么叫递归?举一个通俗的例子:有一个8俩重的苹果要你切成重量相等的若干份,每一份的重量不能大于1俩。你肯定会想到这样做:1.第一刀先把一个苹果切成重量均等的2份A1和A2;2.再把其中的一份A1切成重量均等的两份A11和A12, 把A2切成均等的两份A21和A22;3.把A11切成均等的两份……4.直到每一小份都小于等于1俩为止。以上的例子就是递归一个模型,把一个大的事物化成若干个小的事物,每一次...
2018-05-25 13:43:50 141
原创 Unity内存优化
内存的开销无外乎以下三大部分:1.资源内存占用;2.引擎模块自身内存占用;3.托管堆内存占用。资源内存占用一、纹理纹理资源可以说是几乎所有游戏项目中占据最大内存开销的资源。一个6万面片的场景,网格资源最大才不过10MB,但一个2048x2048的纹理,可能直接就达到16MB。因此,项目中纹理资源的使用是否得当会极大地影响项目的内存占用。 那么,纹理资源在使用时应该注意哪些地方呢?(1) 纹理格式纹...
2018-05-25 13:43:44 10625 1
原创 判断两线段是否相交
我们分两步确定两条线段是否相交: (1)快速排斥试验 设以线段 P1P2 为对角线的矩形为R, 设以线段 Q1Q2 为对角线的矩形为T,如果R和T不相交,显然两线段不会相交。 (2)跨立试验 如果两线段相交,则两线段必然相互跨立对方。若P1P2跨立Q1Q2 ,则矢量 ( P1 - Q1 ) 和( P2 - Q1 )位于矢量( Q2 - Q1 ) 的两侧,即( P1 - Q1 ) ×...
2018-05-25 13:43:39 602
原创 两个矩形是否相交
假定矩形是用一對點表達的(minx,miny)(maxx, maxy) ,那麼兩個矩形rect1{(minx1,miny1)(maxx1, maxy1)}, rect2{(minx2,miny2)(maxx2, maxy2)} 相交的結果一定是個矩形,構成這個相交矩形rect{(minx,miny)(maxx, maxy)}的點對坐標是: minx = ...
2018-05-25 13:43:32 490
原创 点乘 和 叉乘
点乘 和 叉乘A.dot(B) = |A|*|B|*cos(a)得到在某上的投影长度A.cross(B) = |A|*|B|*sin(a)判断点与边的位置关系可用于判断点是否在凸多边形内
2018-05-24 16:32:13 5511
原创 python序列和映射
序列:列表list 任意长度 l = [] l = list(range(5))元组tuple 不可变 t = () t = tuple(range(1,6)) t=('jerry',)range 不可变 range(1,6)string 不可变 s = "abc" """多行字符串"""映射:字典 任意长度 d = {...
2018-05-24 16:31:54 1429
原创 lua的表和数组
---------------表-- Config={hello="Hello Lua",wo="Me"}-- Config.words="Hello"-- Config.num=100-- Config["name"]="zhangsan"---- print(Config.words)---- print(Config["name"])---- print(Config.hello)-
2018-05-24 16:31:29 709
原创 状态同步和帧同步
状态同步:发送操作给服务端。服务端处理计算逻辑,更新客户端数据帧同步:发送操作给服务端。服务端中转所有数据通过随机因子保证每次得出结果一样http://www.gameres.com/489361.htmlGameRes游资网授权发布 腾讯一下出了两款MOBA游戏,全民超神,王者荣耀,玩了一下,效果不错,就分析了一下它底层的一些技术,发现一个是采用的状态同步,TCP协议,另一个是...
2018-05-24 16:31:21 1377 1
原创 寻路基础 德洛内三角剖分
凸多边形(范围内所有点连线都在多边形内)假设我们在一个多边形上(包括多边形的边界及边界围封的范围)任意取两点并以一条线段连结该两点,如果线段上的每一点均在该多边形上,那么我们便说这个多边形是凸的。凸包(包含所有点最小面积的凸边形)给定平面上的一个(有限)点集(即一组点),这个点集的凸包就是包含点集中所有点的最小面积的凸多边形点在凸多边形中的判断(点都在所有边的右边)假设多边形是凸的,而且顶点p0,...
2018-05-24 16:31:13 1013
原创 fsm demo
using System;using System.Collections;using System.Collections.Generic;using UnityEngine; /**A Finite State Machine System based on Chapter 3.1 of Game Programming Gems 1 by Eric Dybsand Written by Ro...
2018-05-24 16:31:04 218
原创 python 文件读取
#!/usr/bin/python3import chardetimport os#python3 version#把环境变量切到python/Scripts 里面#输入pip install chardet#del a[2:4] 删除从第2个元素开始,到第4个为止的元素。包括头不包括尾。#pyinstaller 编译成exe#解压前放scripts 安装完后#C:\python365_64\L...
2018-05-24 16:30:48 187
原创 UML图
鸡湿衣冠剧组(继承,实现,依赖,关联,聚合,组合) 继承 空心三角形 实线 指向父类实现 空心三角形 虚线 指向接口依赖 箭头指向引用 不持有全局引用关联 箭头指向引用 持有全局引用聚合 空心菱形箭头 指向 引用 生命周期不一样组合 实心菱形箭头 指向 引用 实例化和销毁和引用都在此类关联包含聚合是一种升级...
2018-05-23 18:11:12 145
VAX垃圾清理和VAX的安装包和VAX的dll
2018-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人