东方VS清扬

不乱于心 不困于情 不念过去 不畏将来

OpenGL Shader基础

本篇文章基于OpenGL4.5进行讲解 目标 能区分OpenGL所使用的不同类型的Shader 利用GLSL编写并编译Shader 利用OpenGL中多种机制向Shader传递数据 利用GLSL高级能力实现Shader的复用 OpenGL可编程渲染管线 OpenGL4.5版本渲染管线提供了四个可编程阶段另加一个计算阶段(compute stage),每一个阶段都可使用...

归并排序

归并排序是建立在归并操作上的一种稳定排序算法,是分治法思想的典型应用。 归并排序主要用于总体无序但各子项相对有序的序列,时间复杂度为 O(nlogn),空间复杂度为 O(n)。 基本思想 1 2 1. 将无序列表分割为n个子序列,每个子序列包含一个元素,子序列可被视为有序序列。 2. 合并多个子序列为一个有序序列,重复此行为直到剩余一个最终有序序列。 将两个有序列表合并成一个有序列表的...

二分查找

二分查找即折半查找,是一种较高效的经典查找算法,对于被搜寻的序列要求必须已排序,另外由于二分查找需要方便的随机存储,故该方法仅适用于线性表的顺序存储结构,不适合链式存储结构。二分查找时间复杂度为 O(log2n)。 基本思想 1 2 1. 将待查找的值与给定序列的中间值作比较,若相等则查找成功。 2. 若不相等,则根据序列的增减性在前半部分或者后半部分以同样方法进行查找,直到查找成功或者待...

Stack应用之算术表达式求值

算术表达式求值是Stack应用的经典案例,本篇文章用于记录复习该内容。 基本思想: 1 2 3 4 1. 建立两个Stack,一个用于保存运算符,一个用于保存操作数 2. 表达式从左至右依次入栈,操作数入操作数栈,运算符入运算符栈,忽略左括号 3. 在遇到右括号时弹出一个运算符,弹出所需数量的操作数,并将操作结果压入操作数栈 4. 表达式计算完毕时将只有操作数栈中剩余一个元素,为最后结果值...

欧几里得算法

欧几里得算法又称辗转相除法,是用于计算两个正整数的最大公约数的经典算法 问题描述:有整数m,n,其中m > n >= 0,求解m和n的最大公约数? 基本思想:设函数 _gcd(m,n)_ 用于求解m和n的最大公约数,则 _gcd(m,n) = gcd(n,m mod n)_. 算法编写: 1 2 3 4 5 6 7 8 9 10 11 static int Gcd(int ...

首篇

能坚持做一件事是很珍贵的,时常静心以排除杂念,但做到心无杂念又谈何容易,年轻时能心无旁骛地坚持做一件事真的很重要,在此过程中人可以感知到许多未曾有过的体会。 毅力是需要修炼的,戒除懒惰推迟的习惯首先从写作开始吧。成长之后慢慢觉得擅长写作真是一件幸事,既能完善思维体系又能增强表达能力,同时还修养了自我控制力。 当意识到持续建立并完善自我是当下及未来都不可舍弃时,感知自然会引导人需要符合本心...