自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nim的辙迹

纸上得来终觉浅,绝知此事要躬行

  • 博客(54)
  • 收藏
  • 关注

原创 排序算法总结(Java泛型实现)

再次复习了一些排序算法,这次使用了Java泛型实现方式。

2018-01-27 19:40:28 796

原创 最长递增子序列(LIS)问题

最长递增子序列问题的算法最低要求O(nlogn)的时间复杂度

2017-05-01 13:30:40 799

转载 AVL树及其C++实现

AVL树(高度平衡二叉树)的介绍及其C++实现

2017-01-26 18:42:41 4356 3

转载 二叉查找树解析及其C++实现

二叉查找树的介绍及其C++实现

2017-01-21 17:07:55 575

原创 栈的解析及C++实现

栈的介绍以及顺序栈、链栈、STL自带的栈的实现

2017-01-18 12:37:55 838

原创 单链表及双链表总结

单链表、双链表介绍及其C++实现

2017-01-16 19:12:37 1005

原创 最小生成树--Prim算法和Kruskal算法

Prim算法和Kruskal算法的介绍,用来求加权连通图的最小生成树的算法。

2017-01-14 08:19:59 955

原创 排序算法总结

常用八大排序算法的总结

2017-01-11 11:41:23 3883

原创 lambda表达式

介绍lambda表达式

2017-01-06 17:58:07 992

原创 写给2017年

写给2017年的一些期望

2017-01-01 10:30:29 760

原创 const限定符

const限定符的笔记

2016-12-26 18:01:45 655

原创 数据结构--字符串匹配

暴力匹配算法假设现在我们面临这样一个问题:有一个文本串 S,和一个模式串 P,现在要查找 P 在S 中的位置,怎么查找呢?如果用暴力匹配的思路,并假设现在文本串 S 匹配到 i 位置,模式串 P 匹配到 j 位置, 则有: – 如果当前字符匹配成功(即 S[i] == P[j]),则 i++,j++,继续匹配下一个字符; – 如果失配(即 S[i]! = P[j]),令 i = i - (j

2016-12-22 12:31:51 658

原创 数据结构-二路插入排序

二路插入排序是对折半插入排序的改进,其目的是减少排序过程中移动记录的次数,但为此需要n个记录的辅助空间。具体做法是:另设一个和r[]同类型的数组d,首先将r[0]赋值给d[0],并将d[0]看成是在排好序的序列中处于中间位置的记录,然后从r[]中第2个记录起依次插入到d[0]之前或之后的有序序列中。先将待插记录的关键字和d[0]的关键字进行比较,若r[i] < d[0],则将r[i]插入到d[0]之

2016-12-20 23:36:05 915

原创 数据结构--双向冒泡排序

双向冒泡排序,又名鸡尾酒混合排序,是对冒泡排序的一种改进算法。 每完成一次循环就将最大元素排在队尾,最小值排到队头,时间成本能节约1倍。其算法如下:void DoubleBubbleSort(int r[],int size){ int i,low=0,high=size-1,temp; bool exchange; while(low<high) {

2016-12-20 22:41:33 2761

原创 数据结构--快速排序

快速排序是对起泡排序的一种改进。 它的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分的记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。如何判别快速排序的结束? 若待排序列中只有一个记录,显然已有序,否则进行一次划分后,再分别对分割所得的两个子序列进行快速排序(即递归处理)。int Partition(int r[],int fir

2016-12-20 10:13:47 677

原创 数据结构--冒泡排序

起泡排序的过程很简单。首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换之,然后比较第二个记录和第三个记录的关键字。依次类推,直至第n-1个记录和第n个记录的关键字进行比较为止。上述过程称作第一趟起泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上。然后进行第二趟起泡排序,对前n-1个记录进行同样操作,其结果是使关键字次大的记录被安置到第n-1个记录的位置上

2016-12-19 22:20:54 656

原创 数据结构--直接插入排序

直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。一般情况下,第i趟直接插入排序的操作为:在含有i-1个记录的有序子序列r[1..i-1]中插入一个记录r[i]后,变成含有i个记录的有序子序列[1..i];并且,和顺序查找类似,为了在查找插入位置的过程中避免数组下标出界,在r[0]处设置监视哨。在自i-1起往前搜索的过程中,可

2016-12-19 21:42:27 857

原创 数据结构--拓扑排序算法

什么是拓扑排序?简单地说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。偏序:只有部分可以比较关系 全序:全部都能比较关系AOV网:用顶点表示活动,用弧表示活动间的优先关系的有向图称为顶点表示活动的网。 在AOV网中,不应该出现有向环,因为存在环意味着某项活动应以自己为先决条件。对给定的AOV网判定网中是否有环? 拓扑序列使得AOV网中所有应存在的前驱和后继关系都能得到

2016-12-18 00:25:25 1802

原创 Lesson 18: SDK文档:Tutorial 7 Texture Mapping and Constant Buffers分析

中文翻译文档地址: http://blog.sina.com.cn/s/blog_6e1283650102vfi9.html学习心得:学完本篇,D3D11 SDK文档附带的教程就全部学习完了,想要真正掌握的话,还是需要不断地对代码进行修改,有什么好的想法就在原代码基础上添加、修改,这样你也能在这个过程中弄清其作用及含义。纹理映射纹理映射是指2D纹理到3D几何模型的投影。我们可以认为它是一种包装。为

2016-12-17 10:53:22 561

原创 Lesson 17: SDK文档:Tutorial 6 Lighting分析

中文翻译文档地址: http://blog.sina.com.cn/s/blog_6e1283650102vfi8.html在这个教程中,将介绍最基础的光照类型是方向光。方向光不论对象跟光源的距离,都受到统一的关照。当光照到一个表面时,光照的发射计算这个表面和光线的夹角大小。当光线直接照射到表面时,表面会将所有的光反射回去,显示最高的强度。然而,随着表面与光线的角度增长,反射的光照强度会慢慢暗下来

2016-12-16 16:34:33 514

原创 Lesson 16: SDK文档:Tutorial 5 3D Transformation分析

中文翻译文档: http://blog.sina.com.cn/s/blog_6e1283650101cwy7.html深度缓存:没有它的话,在比较小的轨道中,第二个立方体将总是绘制在第一个立方体的上面,即使当它旋转到第一个立方体的后面的时候。深度缓冲区允许Direct3D检测画在屏幕上每个像素的深度。在Direct3D 11中的默认操作是将要画的每个像素和已经在屏幕上的对应像素的深度进行比较。如

2016-12-16 15:35:57 473

原创 Lesson 15: SDK文档:Tutorial 4 3D Spaces分析

Constant BufferConstant buffer(cb)是DX10中引入的概念,它取代了DX9时代GPU常量寄存器的概念,允许通过一块大小可变的buffer向shader提供常量数据,而不是之前数量非常受限的n个寄存器,这也是我们遇到的第一种可在shader着色阶段由HLSL访问的资源。 管线的每个可编程阶段都能同时访问一个或者几个cb,对于shader代码来说,cb中的数据都是全局常量

2016-12-15 22:04:19 412

原创 Lesson 13: SDK文档:Tutorial 1 Direct3D 11 Basics分析

头文件:#include <windows.h>#include <d3d11.h>#include <d3dx11.h>#include "resource.h"全局变量声明:// Global VariablesHINSTANCE g_hInst = NULL; //实例句柄HWND g_hWnd = NULL; //

2016-12-15 20:04:59 517

原创 数据结构--树

树型结构和图型就是其中十分重要的非线性结构,可以用来描述客观 世界中广泛存在的层次结构和网状结构的关系,如家族谱、城市交通 等。二叉树不是树的特例二叉树与无序树不同: 二叉树中,每个结点最多只能有两棵子树,并且有左右之分。二叉 树并非是树的特殊情形,它们是两种不同的数据结构。二叉树与度数为2的有序树不同: 在有序树中,虽然一个结点的孩子之间是有左右次序的,但是若该 结点只有一个孩子,

2016-12-15 17:14:49 355

原创 Lesson 14: SDK文档:Tutorial02 Rendering a Triangle分析

结构体声明:// Structuresstruct SimpleVertex{ D3DXVECTOR3 Pos;};全局变量声明:// Global VariablesHINSTANCE g_hInst = NULL; //实例句柄HWND g_hWnd = NULL; //窗口句柄D3D10_DRIVER_TY

2016-12-15 14:52:49 473

转载 Lesson 12: 索引缓存

原文地址: http://blog.csdn.net/poem_qianmo/article/details/8304741单单用顶点缓存来绘制图形的方法在应对复杂图形的时候非常不科学,显得复杂而力不从心。 也就是说,当物体模型很复杂、顶点数量很大时,仅使用顶点缓存绘制图形会使重复的顶点大大增加,并且Direct3D仍需要对这些重复的顶点进行计算,因此需要更多的存储空间和更大的开销。 这时候,

2016-12-15 13:58:43 685

翻译 Lesson 11: 绘制三角形

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-5一个三角形由三个点组成,也可以叫做顶点。用一个顶点数组来定义一个三角形,为了GPU能够渲染这个三角形,我们必须告诉GPU三角形的三个顶点的坐标。顶点缓存: 在Direct3D 11中,向顶点信息(如坐标)叫保存在一个缓冲区资源内。如果一个缓冲区用来存放顶点信息,那么它就

2016-12-15 00:28:17 560

翻译 Lesson 10: 着色器

原文地址: http://blog.csdn.net/sinat_24229853/article/details/46941927Direct3D要求使用着色器来渲染几何图形,为了解着色器的由来,我们首先要了解下图形流水线的历史。图形流水线是什么? 图形流水线是GPU(图形处理器,显卡的心脏)工作的通用模型。它以某种形式表示的三维场景或物体为输入,输出二维的光栅化图像到显示器。光

2016-12-14 14:20:26 571

翻译 Lesson 9: 全屏

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-4设置屏幕大小: 1.首先,我们必须要对屏幕的宽度和高度进行宏定义:// define the screen resolution#define SCREEN_WIDTH 800#define SCREEN_HEIGHT 6002.下一步,检测整个程序使用到了屏幕大

2016-12-14 13:31:19 389

翻译 Lesson 8: 渲染框架

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-3设置渲染目标: 在Direct3D里渲染,必须要设置渲染的目标。 通常,这个目标是后台缓冲区。我们一般这样完成设置:ID3D11RenderTargetView *backbuffer; // global declaration// this function

2016-12-14 01:03:36 539

翻译 Lesson 7: 初始化Direct3D

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-2COM: COM是组件对象模型Component Object Model的简称,是一项能够使DirectX独立于编程语言并具备向下兼容的技术。 原文中用乐高积木做了个比喻,乐高积木可以通过堆积在一起形成一个复杂的形状,它们相互兼容,如果想要改变某个部分,只要去掉其中

2016-12-13 21:39:01 468

翻译 Lesson 6: 理解计算机图形学

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-1The CPU Directs the GPU 大意为:CPU驱动GPU绘制图形显示在监视器上。The CPU and GPU Have Separate Memory DirectX图形基础设施(DXGI)示意图: 简单说下,Win32应用程序可以使用Di

2016-12-13 01:32:53 470

翻译 Lesson 5: 实时消息循环

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-5In this lesson we will cover a single function, PeekMessage(), and how this function differs from its evil twin, GetMessage(). 主要讲的就是Pe

2016-12-13 00:11:46 401

翻译 Lesson 4: 窗口大小和客户区大小

当我们调用CreateWindowEx()函数时,我们使用了500*400来设置窗口的大小。然而,这和客户区的大小是不一样的。客户区为窗口的一部分,游戏软件通常都在客户区完成游戏中的各种画面、功能与效果的实现。 当使用Direct3D时,我们需要确定图片的大小。如果客户区的大小与图片的大小不一致时,它将会被拉伸或收缩以适应客户区的大小。Rendering With and Without Adju

2016-12-12 23:51:11 1045

原创 数据结构--数组

数组的定义: 数组是由一组 类型相同 的数据元素构成的有序集合,每个数据元素称为一个数组元素(简称为元素),每个元素受n(n ≥1)个线性关系的约束, 每个元素在n个线性关系中的序号i1 、i2、… 、in 称为该元素的下标,并称该数组为n维数组。有点难理解,没关系,我们看下面这个二维数组: 例如,这是个二维数组,因此元素a22受两个线性关系的约束,在行上有一个行前驱a21和一个行后继a23

2016-12-12 21:54:00 1116

翻译 Lesson 3: 创建窗口

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-3与Lesson2一样,我们使用WinMain函数开始我们的程序。另外,我们将使用另一个叫WinProc()的函数。这个函数将在程序运行的时候处理所有Windows发送给我们的事件消息。下面这个代码用来创建以及运行一个窗口:// include the basic wind

2016-12-12 19:02:35 355

翻译 Lesson 2: 基本窗口

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-2运行环境:Visual Studio 2015Win32 Console Programs vs. Windows Programs Win32控制台程序和Windows程序 两项的区别: 我们在学习C++时,用cin、cout那一套写出来的程序通常都是一个黑洞洞的

2016-12-12 16:59:02 415

翻译 Lesson 1: 游戏程序的组成

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-1作者英语水平有限,意思是按自己理解的来,欢迎指导纠正!The Sequence of a Computer Game: Phase 1: Initialize the program 初始化程序: 创建一个窗口来显示我们的游戏,设置图形、模型和其他媒体的加载,分配内

2016-12-12 16:24:07 845

原创 条款8:了解各种不同意义的new和delete

new operator,这个操作符是由语言内建的,不能被改变意义,总是做相同的事情。它的动作分为两方面: 第一,它分配足够的内存,用来放置某类型的对象。 第二,它调用一个constructor,为刚才分配的内存中的那个对象设定初值。你能够改变的是用来容纳对象的那块内存的分配行为。 new operator调用某个函数,执行必要的内存分配动作,你可以重写或重载那个函数,改变其行为。这个函数的名

2016-12-09 20:38:27 337

原创 数据结构--邻接多重表下的无向图的生成树

这篇我们来解决下上一篇留下的两个问题:深度优先生成树和广度优先生成树如何建立?1.深度优先生成树 首先,我们需要读懂的是邻接表下的深度优先生成树,因为这种结构下的方法比较容易推敲,理解之后进而推广到邻接多重表上。我们先以《数据结构(C语言版)》–严蔚敏、吴伟民编著的教材上算法7.7为例,分析下深度优先生成树是如何建立的:void DFSTree(Graph G,int v,CSTree &T){

2016-12-09 17:05:13 1516

空空如也

空空如也

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

TA关注的人

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