自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【STL】unodered_map

unordered_map的定义template class Key,class T,class Hash = hashKey>,class Pred = equal_toKey>,class Alloc = allocatorconst Key,T> >> class unordered_map;12345模版参数说明:Key 主键的类型。 在类模板内部,

2017-09-25 13:10:03 1152

原创 C++ 复习要点

本文总结一下C++面试时常遇到的问题。

2017-09-20 15:03:13 16975 3

转载 轻松搞定面试中的红黑树问题

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/silangquan/article/details/18655795   连续两次面试都问到了红黑树,关键两次都没有答好,这次就完整地来学习整理一下。没有学习过红黑树的同学请参考:> Chapter 13 Red-Black Trees Chapter 14 Augmenting

2017-09-19 16:31:32 681

原创 Unity 复习要点

Unity

2017-09-19 12:18:21 478

原创 图形学复习要点

这篇文章总结一下图形学在游戏开发工程师面试时常考(可能会考)的问题。虽然图形学在面试中的比重比较小,但是还是要复习一下的。图形学的考点分为两部分,一是渲染管线,二是数学尤其是线性代数和三维几何。一、渲染管线1.1 渲染管线中有那几个重要的坐标系?如何转换?二、数学基础

2017-09-19 11:45:54 6817 2

原创 游戏中服务端与客户端分别承担怎样的计算才即安全又可靠呢?

原则一:安全第一,永不信任客户端所有能影响战斗胜负结果的数值及运算,影响成长收益的数值及运算,都必须放到服务端保存及运算或者是高频度的验算。影响战斗胜负结果的:人物属性 战斗公式 行走速度 施法距离 技能CD等影响成长收益的:各种物品掉率 物品强化/合成概率等原则二:保持流畅的游戏体验根据游戏对网速的要求,合理调整各种发包及验算的频率。自动寻路的运算可以放在客户端做

2017-09-18 12:26:45 2199

转载 静态链接库LIB和动态链接库DLL的区别

静态链接库LIB和动态链接库DLL的区别一、        静态链接库与动态链接库区别静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态

2017-09-17 07:20:30 197

原创 数据库复习要点

什么是存储过程?有哪些优缺点?存储过程是一些预编译的SQL语句。更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程是一个预编译的代码块,执行效率比较高一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高

2017-09-16 11:19:54 1010

原创 操作系统复习要点

什么是虚拟内存,什么是物理内存进程和线程进程是具有一定功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源调度和分配的一个独立单位。进程是程序的一次执行,包括代码和数据,是CPU分配资源的基本单位,一个进程可以包括多个线程。进程之间通信方式:管道、SOCKET、信号量(互斥、同步)等。子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。线程是进程的实体,是C

2017-09-16 11:17:48 31960 5

原创 计算机网络复习要点

参考资料:https://my.oschina.net/yangjiannr/blog/1528516http://www.cnblogs.com/zyf-zhaoyafei/p/4716297.html到现在也投了一些公司,有的在等面试,有的在等笔试。抽空总结一下计算机网络常见的面试问题和复习的要点。由于我不是后台方向的,所以这些内容都是比较基础的,个人对 socket 的使

2017-09-15 18:50:02 1748 1

转载 线索二叉树

一、线索二叉树       如果二叉树的节点包含数据域和两个指针域( lchild 和 rchild ),当节点没有下一个节点时,将指针域赋值为空(NULL),但有时会造成很大的浪费,所以可以将空指针域利用起来,存放其他节点的地址,这样就便于索引,像二叉树遍历,查找之类就会变得相对容易。像上面的二叉树就会造成很大的浪费。当该二叉树以中序遍历输出时,为FDGBACE,红色

2017-09-14 19:54:40 253

原创 64 位软件和 32 位有什么具体区别?

64bit软件和32bit软件最大的区别是64bit的软件可以同时操作大于4GB的内存。注意这里的内存指的是地址空间,而不是物理内存。比如现在有一个10GB的数据库需要进行排序。64bit的软件可以malloc一个10GB的空间把整个数据库“放进”内存然后使用任意经典排序算法,而32bit的软件在malloc时就会崩溃(out-of-memory)。所以32位软件的程序员只能使用复杂的算法显式的分

2017-09-13 14:48:05 3688

转载 topk

https://www.nowcoder.com/profile/601412/codeBookDetail?submissionId=85140101、全排序  时间复杂度O(nlogn)  *通过牛客*12345678910111213

2017-09-10 07:01:33 286

转载 memset(this, 0, sizeof *this)

有时候类里面定义了很多int,char,struct等c语言里的那些类型的变量,我习惯在构造函数中将它们初始化为0,但是一句句的写太麻烦,所以直接就memset(this, 0, sizeof *this);将整个对象的内存全部置为0。对于这种情形可以很好的工作,但是下面几种情形是不可以这么使用的:1.类含有虚函数表:这么做会破坏虚函数表,后续对虚函数的调用都将出现异常2.类中含有

2017-09-09 05:54:04 1598

原创 new operator、operator new 、placement new三者之间的区别与联系

new operator、operator new 、placement new三者之间的区别与联系1. new的执行过程:(1)通过operator new申请内存(2)使用placement new调用构造函数(简单类型忽略此步)(3)返回内存指针 2. new和malloc的比较:(1)new失败时会调用new_handler处理函数,malloc不会,失

2017-09-09 05:23:40 349

转载 C++ sizeof

转自:http://krystism.is-programmer.com/ 学过c的都知道sizeof运算符。不过还是需要注意以下几点。先从c的sizeof说起:1. sizeof 是运算符,而不是函数。虽然我们习惯sizeof(...),但( )并不是必需的,它只是表示优先级。我们把sizeof后面的目标叫对象或者操作数。本文约定就叫sizeof对象。2. 当si

2017-09-05 12:06:47 204

原创 面试IT公司的经验

[转载]面试IT公司的经验笔者仅仅以自己的亲身经验为依据,将国内IT巨头按Offer到手难度降序排列,大致分为如下3个梯队: T1:百度,阿里,腾讯,… T2:网易,迅雷,完美时空,360,金山,… T3:华为,中兴,联发科,… Tx:垄断类IT国企。如中国移动,…T1主要是 BAT三巨头 。他们对学生的技术能力与综合素质都要求较高。 他们尤其喜欢寻找牛人 。因此你必须

2017-09-04 09:46:32 8249

转载 C++ const

const 是左结合的,若左边为空,则再向右结合 一、指向  const  对象的指针指向  const  对象的指针,指的是指针指向的对象的内容是const的,不可修改,但指针本身(即指针的值)是可以修改的。例1:char acConst[] = "const";const char *pcConst = acConst; *pcConst = ‘C’;

2017-09-04 09:39:47 236

原创 lua 实现面向对象

Lua 通过元表可以实现面向对象。当然,这种面向对象并不是真的面向对象,而是类似于一种原型模式,从一个已有的table中clone出另一个table。Lua自身是不支持面向对象的。本文来写一个简单的Lua面向对象实现。local class_mt = {}function class_mt:__index(key)    return self.__baseclass[key]

2017-09-04 07:25:29 336

原创 C++ 对象模型

注意虚指针在所有成员的前面。

2017-09-03 16:17:44 230

原创 二叉树计算题总结

二叉树计算题总结

2017-09-01 14:49:53 2105

原创 C++ 变长参数

一个典型的过程是int sum(char *msg, ...){    va_list st;    va_start(st, msg);    int total = 0;    int tmp;    while((tmp = va_arg(st, int)) != 0)    {        total += tmp;    }    va_en

2017-09-01 14:10:55 293

原创 C++ 左值和右值,左值引用和右值引用

区分左值右值的真正说法是:能否用“取地址&”运算符获得对象的内存地址。临时对象是右值,可以被右值引用或者常量左值引用来引用;持久对象是左值,可以被左值引用或常量左值引用来引用;对于临时对象,它可以存储于寄存器中,所以是没办法用“取地址&”运算符;对于常量,它可能被编码到机器指令的“立即数”中,所以是没办法用“取地址&”运算符;字符串字面值常量是C++标准中明确指明的特例,为

2017-09-01 13:46:27 322

转载 C++ 析构函数执行顺序

通过 Student 类依次创建了3个对象,分别是 stu1、stu2、stu3,但它们对应的析构函数的执行顺序却是相反的,这是为什么呢?要搞清楚这个问题,首先要明白C++内存模型,也就是C++的代码和数据在内存中是如何存储的。在内存模型中有一块区域叫做栈区,它是由系统维护的(程序员无法操作),用来存储函数的参数、局部变量等,类似于数据结构中的栈,也是先进后出。当遇到函数调

2017-09-01 09:50:42 4242

转载 C++ 函数返回引用的问题

先看看该链接讨论的问题作为热身。http://topic.csdn.net/u/20070616/13/2a6a1739-1a69-4829-a90f-fdb19a61e095.html 函数返回值和返回引用是不同的函数返回值时会产生一个临时变量作为函数返回值的副本,而返回引用时不会产生值的副本,既然是引用,那引用谁呢?这个问题必须清楚,否则将无法理解返回引用到底是个什么概念。以下是几

2017-09-01 09:01:26 558

原创 C++ 11 复习要点

C++11

2017-08-31 19:45:28 381

原创 【剑指offer】剑指offer 练习笔记

剑指offer练习1. 赋值运算符class CMyString{char* m_pData; int size; }写一个CMyString类的赋值运算符。CMyString& operator = (const CMyString& s){if( this == &s) return * this; if(m_pData) delete[]

2017-08-30 16:41:25 307

转载 常用算法:分治算法、动态规划算法、贪心算法、回溯法、分支限界法

常用算法:分治算法、动态规划算法、贪心算法、回溯法、分支限界法分治算法一、基本概念   在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变

2017-08-30 12:13:58 345

原创 【C++复习】易错的小问题

1. 数组初始化数组初始化有很多坑,比如int a [10]; 这样的话,10个元素的值都是没有初始化的,在32位Windows上是-858993460,16进制表示是0xcccccccc,栈中变量如果没有初始化,值就是这个。如果要初始化数组,可以用int a[10] = {}; 或者int a[10] = {0};两种都是把值初始化为0。需要注意的是,这种方法只能把值

2017-08-30 09:36:39 483 1

原创 【算法】动态规划

最近看了一下动态规划,发现其实还是很容易的,不知道为什么当时上课的时候觉得很难。

2017-08-30 06:39:22 413

转载 二叉树的各种操作(面试必备)

https://www.61mon.com/index.php/archives/191/本篇针对面试中常见的二叉树操作作个总结:(1):前序遍历,中序遍历,后序遍历;(2):层次遍历;(3):求树的节点数;(4):求树的叶子数;(5):求树的深度;(6):求二叉树第 k 层的节点个数;(7):判断两棵二叉树是否结构相同;(8):求二叉树的镜像;(9):

2017-08-29 17:14:43 332

转载 轻松搞定面试中的二叉树题目

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关

2017-08-29 14:41:41 335

原创 二叉树的各种计算题和性质

1. 普通二叉树比如表达式树2. 二叉查找树 BST (满足左子树所有节点小于根小于右子树所有节点的二叉树)    涉及到了BST的插入、删除、查找问题。插入(建树)和查找(前序、中序、后序遍历)比较简单。删除操作需要考虑三个问题:(1) 被删节点是叶子节点。此时将父节点中的相应指针置空就可以(2) 被删的节点只有一个子女。此时将父节点中的相应指针设置为自己的子节点(3) 被删

2017-08-29 13:41:57 558

原创 【STL】栈适配器stack

STL中的栈stack是一个适配器,它的实现容器可以是deque, vector, 或者list, 默认是deque,只要支持push_back()和pop_back()的容器就可以。构造函数 stack> ;stack> sk; stack> sk;   stack sk;  stack> sk; STL 中stack的基本操作很少:empty() 判空top()

2017-08-29 13:41:09 197

原创 轻松搞定面试中的链表题目

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7393134链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链

2017-08-29 13:06:58 258

原创 排序算法

1. 直接选择排序任何情况下的时间复杂度都是 O(n^2), 最差的一种排序,每次都必须遍历玩整个子数组,选出最小的那个,空间复杂度为O(1),无需额外空间。直接选择排序的关键在于,每次从右侧子数组中,选出最小的,放到子数组第一个,然后缩小子数组范围,再次选择、交换。#include using namespace std;void selectionSort(int* a, int

2017-08-29 06:30:57 258

原创 链表

1. 带头结点的列表相比没有头结点的标准实现,好处在于?这种伪首节点叫头结点。简化了删除和插入操作,原先的标准实现必须考虑头结点的特殊性(没有前驱),在链表开头插入和删除头结点都要独立考虑,在代码中需要判断节点是不是头结点,增加了复杂度。而增加了头结点的链表,真正的头结点插入和删除和其余节点无区别,代码是一套。2. 带头结点的链表判空条件是head->next == null; 3

2017-08-28 23:16:00 230

原创 【STL】queue队列适配器

queue和stack一样,也是STL中的适配器。任何支持push_back(), pop_front()的容器都可以支持,即deque双端队列, list双向链表。默认是deque.基本操作:push 入队pop 出队sizeemptyfront 获得队首元素值back 获得对尾元素值

2017-08-28 23:00:57 261

转载 【STL】C++11新特性emplace操作

emplace操作是C++11新特性,新引入的的三个成员emlace_front、empace 和 emplace_back,这些操作构造而不是拷贝元素到容器中,这些操作分别对应push_front、insert 和push_back,允许我们将元素放在容器头部、一个指定的位置和容器尾部。两者的区别 当调用insert时,我们将元素类型的对象传递给insert,元素的对象被拷贝到容

2017-08-28 22:59:05 2448

原创 【STL】迭代器iterator和有关问题

迭代器的基本操作(即每种容器的迭代器都有的操作): 自增++ 自减-- 去引用*

2017-08-28 22:39:15 221

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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