摘要:本博客停止更新,博客内容迁移到:www.xieguanglei.com谢谢支持 阅读全文
posted @ 2014-02-25 09:17 一叶斋主人 阅读 (672) 评论 (0) 编辑
摘要:正则表达式是用来进行字符串匹配的。稍微总结一下正则表达式的基本用法,老鸟勿笑。 阅读全文
posted @ 2013-11-08 10:12 一叶斋主人 阅读 (1182) 评论 (11) 编辑
摘要:语句JavaScript是解释型语言,解释器是按照顺序逐句执行的(除了进行一些少量预处理,如将函数声明提前)。顺序是由流程控制语句来控制的,常用的流程控制语句包括:条件控制语句:if...else和switch...case语句循环控制语句:while...、do...while、for和for-in语句其他:break、continue和try...catch语句代码中除去流程控制语句,剩下的部分只做两件事:为变量赋值(声明新变量并复制如var obj = {word: "hello"},或为已有变量赋值x=y)调用函数,比如console.log("hello 阅读全文
posted @ 2013-08-30 12:01 一叶斋主人 阅读 (1139) 评论 (0) 编辑
摘要:JavaScript有一些内置类型,还有很多常用的内置的方法,本文稍作总结,以备查阅。 阅读全文
posted @ 2013-08-29 23:13 一叶斋主人 阅读 (1132) 评论 (3) 编辑
摘要:使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了。一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloat属性布局。前者适合布局首页,因为首页上的内容往往可以完全控制。后者适合布局模板,模板中填充的内容你没法控制——比如,在编辑wordpress模板时,你肯定没法考虑每篇博文的长度。这篇博文,就是总结一下怎样使用CSS中的float属性进行布局,其实网上有很多讨论这个话题的文章了,但我觉得都没说到点子上。那就来老生常谈一次吧,CSS之Float布局。 阅读全文
posted @ 2013-07-22 08:57 一叶斋主人 阅读 (6364) 评论 (5) 编辑
摘要:地图投影,是将地球表面投影到地图平面的过程,将地理坐标转换为平面直角坐标的过程。因为毕业论文需要,我重新回顾了一下地图投影的知识并且作了比较全面且简洁的总结。如果你之前未系统了解过地图投影,又对地图投影感兴趣,这篇博文也许能成为一篇简洁务实的阅读材料。 阅读全文
posted @ 2013-07-13 10:25 一叶斋主人 阅读 (1685) 评论 (1) 编辑
摘要:这篇博文主要阐述了计算机图形学中旋转坐标系的方法,包括最原始的绕坐标轴旋转的旋转矩阵叠加,欧拉角,四元数。在阅读欧拉角相关资料的过程中,我了解到了为什么可以用相对于运动者本身的坐标来描述运动者的运动,此外,我还了解了,为什么四元数可以用来表示绕任意轴的旋转。这些我都记录在这篇博文中。 阅读全文
posted @ 2013-07-12 08:43 一叶斋主人 阅读 (85385) 评论 (13) 编辑
摘要:Three.JS中的Ray类型,Material的多种派生类型。 阅读全文
posted @ 2013-07-11 09:32 一叶斋主人 阅读 (2833) 评论 (0) 编辑
摘要:leetCode刷题笔录7,存储IP地址,灰色编码排列,解码方式,两个已排序数组的中位数,扭曲字符串,分割链表。 阅读全文
posted @ 2013-05-09 11:06 一叶斋主人 阅读 (608) 评论 (0) 编辑
摘要:leetCode刷题笔录6,主要是二叉查找树的题目,验证二叉查找树,恢复二叉查找树(两点对调后),字符串交错(动态规划的题目),唯一二叉查找树的个数1&2,不利用递归地顺序输出二叉查找树(中序遍历) 阅读全文
posted @ 2013-05-03 13:54 一叶斋主人 阅读 (898) 评论 (0) 编辑
摘要:leetCode刷题笔录-6,主要是一些比较简单的二叉树的题目。 阅读全文
posted @ 2013-05-01 22:18 一叶斋主人 阅读 (1122) 评论 (0) 编辑
摘要:leetCode刷题笔录-4,不同的子序列数量,二叉树原地转单链表,二叉树路径节点之和1&2,二叉树最小深度,平衡二叉树 阅读全文
posted @ 2013-04-19 08:59 一叶斋主人 阅读 (938) 评论 (0) 编辑
摘要:虽然 JavaScript 天生就是一副随随便便的样子,但是随着浏览器能够完成的事情越来越多,这门语言也也越来越经常地摆出正襟危坐的架势。在复杂的逻辑下, JavaScript 需要被模块化,模块需要封装起来,只留下供外界调用的接口。闭包是 JavaScript 中实现模块封装的关键,也是很多初学者难以理解的要点。最初,我也陷入迷惑之中。现在,我自信对这个概念已经有了比较深入的理解。为了便于理解,文中试图封装一个比较简单的对象。 阅读全文
posted @ 2013-04-18 09:53 一叶斋主人 阅读 (8040) 评论 (13) 编辑
摘要:这是《Effective C++》一书的读书笔记。主要是关于继承和泛型编程的条款。 阅读全文
posted @ 2013-04-07 20:44 一叶斋主人 阅读 (1388) 评论 (2) 编辑
摘要:leetcode刷题笔录3:三角形,帕斯卡三角形1&2,二叉树中的next节点1&2 阅读全文
posted @ 2013-04-02 09:08 一叶斋主人 阅读 (1087) 评论 (0) 编辑
摘要:leetCode刷题笔录-2 字梯游戏1&2、回文验证、二叉树最大路径和、股价问题1&2&3 阅读全文
posted @ 2013-03-27 16:51 一叶斋主人 阅读 (1452) 评论 (7) 编辑
摘要:leetcode OJ 听说难度适中,适合我这种还没毕业的菜鸟吧。回文分割1&2,围棋,“根-叶”数之和,最长连续序列。 阅读全文
posted @ 2013-03-19 15:51 一叶斋主人 阅读 (2766) 评论 (0) 编辑
摘要:与动态规划类似,贪心算法也将问题化简为规模较小的子问题,并通过递归解决子问题来获取整个问题的解。不同的是,贪心问题不对子问题进行比较,而是只生成一个非空的子问题,而使选择在当时看上去是最优的(即“贪心”的含义)。 阅读全文
posted @ 2013-03-14 18:44 一叶斋主人 阅读 (1781) 评论 (3) 编辑
摘要:这一篇主要关于最优二叉查找树的分析与实现,以及算法导论动态规划一章的几道思考题。 阅读全文
posted @ 2013-03-13 11:11 一叶斋主人 阅读 (1215) 评论 (0) 编辑
摘要:在学习算法导论的过程中,我深深地震撼于自己笔下C++代码的丑陋。于是我决定捧起这本《Effective C++》。本来打算看完这本书,写一篇完整的笔记博文,但是刚刚看到一半,我已经跃跃欲试地想动手改善我的代码了。所以,我将写完的这部分笔记整理成单独的一篇博文。 阅读全文
posted @ 2013-03-07 15:04 一叶斋主人 阅读 (3020) 评论 (2) 编辑
摘要:动态规划常用于最优化问题。动态规划算法一般这样做:子问题首次求解完成后,将其存储到一张表中,以后每次需要使用到该问题的结果时,直接从表中查询,而不是再次求解。 阅读全文
posted @ 2013-02-28 15:54 一叶斋主人 阅读 (2098) 评论 (1) 编辑
摘要:Three.js主页上有很多绚丽的Demo,是学习的极佳素材。我正利用闲暇时间学习这些Demo,并将心得体会记录下来。这一篇先以一个最简单的例子“热身”,之后记录了MorphTargets和BufferGeometry的用法。 阅读全文
posted @ 2013-02-22 10:51 一叶斋主人 阅读 (6061) 评论 (0) 编辑
摘要:顺序统计树和区间树都是对红黑树的扩张:通过在节点添加字段完成其他的功能,如果该字段可以在O(1)时间内维护,就能够不影响红黑树本身操作效率渐进量级。这一篇主要是算法导论15章的习题。 阅读全文
posted @ 2013-01-29 17:10 一叶斋主人 阅读 (2939) 评论 (0) 编辑
摘要:Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习。国外网站 aerotwist.com 有六篇较为简单的入门教程,我尝试着将其翻译过来,与大家分享。 阅读全文
posted @ 2013-01-25 08:53 一叶斋主人 阅读 (7133) 评论 (16) 编辑
摘要:Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习。国外网站 aerotwist.com 有六篇较为简单的入门教程,我尝试着将其翻译过来,与大家分享。 阅读全文
posted @ 2013-01-24 08:54 一叶斋主人 阅读 (3647) 评论 (1) 编辑
摘要:Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习。国外网站 aerotwist.com 有六篇较为简单的入门教程,我尝试着将其翻译过来,与大家分享。 阅读全文
posted @ 2013-01-23 08:57 一叶斋主人 阅读 (4929) 评论 (4) 编辑
摘要:Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习。国外网站 aerotwist.com 有六篇较为简单的入门教程,我尝试着将其翻译过来,与大家分享。 阅读全文
posted @ 2013-01-22 08:49 一叶斋主人 阅读 (4483) 评论 (2) 编辑
摘要:Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习。国外网站 aerotwist.com 有六篇较为简单的入门教程,我尝试着将其翻译过来,与大家分享。 阅读全文
posted @ 2013-01-21 18:13 一叶斋主人 阅读 (5423) 评论 (5) 编辑
摘要:Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习。国外网站 aerotwist.com 有六篇较为简单的入门教程,我尝试着将其翻译过来,与大家分享。 阅读全文
posted @ 2013-01-21 09:03 一叶斋主人 阅读 (13157) 评论 (13) 编辑
摘要:这一篇解决《算法导论》中红黑树章节的部分习题,在上一篇自己亲自实现红黑树后,解决这些题目就轻松多了。 阅读全文
posted @ 2013-01-16 20:16 一叶斋主人 阅读 (2770) 评论 (3) 编辑
摘要:红黑树是一种相当复杂的数据结构,我仔细研究并亲手实现了它,这是一个多月来看《算法导论》给我带来成就感最大的一次。 阅读全文
posted @ 2013-01-14 19:29 一叶斋主人 阅读 (4052) 评论 (8) 编辑
摘要:树几乎是使用最广泛地数据结构之一了,我想其原因是,在期望高度仅为 lg(n) 的结构中存储了 n 个元素。树中的每个操作,在每一层都使用了极具有价值的判断并降低了问题的复杂度,这几乎完美地体现了分治的思想。 阅读全文
posted @ 2013-01-09 08:51 一叶斋主人 阅读 (1575) 评论 (2) 编辑
摘要:这一篇是我自己实现的散列表(链式散列表和开放寻址表),和一些习题的思路。这篇博文没有包括在一致散列假设下对开放寻址散列性能的分析以及全域散列的习题,因为这部分需要一定数论知识,也许在学习一遍附录A之后再来做这些题目会更好。因为没有包括这部分习题,所以这一篇也就比较单薄,因此我加上了前面涉及到的较短的“中位数与顺序统计学”一章,这样凑成一篇。 阅读全文
posted @ 2013-01-06 09:25 一叶斋主人 阅读 (1486) 评论 (0) 编辑
摘要:最基本的数据结构:栈、队列、链表、二叉树。这一篇主要实现前三种数据结构,记录一部分习题的思路。这一篇比较简单,但算是学习更高级数据结构的良好开端吧。 阅读全文
posted @ 2013-01-05 09:13 一叶斋主人 阅读 (1356) 评论 (0) 编辑
摘要:这一篇主要是关于快速排序的随机化版本和线性时间排序。前者即跟递归有关,又跟随机算法和概率分布有关,与后者合并作为一篇。主要记录一些算法的实现,和部分题目的思路。 阅读全文
posted @ 2013-01-04 12:22 一叶斋主人 阅读 (1770) 评论 (0) 编辑
摘要:明天就到2013年了,园子里好多年度总结,我也写一个吧。 阅读全文
posted @ 2012-12-31 11:59 一叶斋主人 阅读 (1828) 评论 (4) 编辑
摘要:这一部分主要算法导论中递归式、堆排序和快速排序章节里选择的对我而言较有价值的题目。 阅读全文
posted @ 2012-12-31 08:55 一叶斋主人 阅读 (2229) 评论 (6) 编辑
摘要:这次从光照部分看起:光照模型,从光线本身角度来看包括环境光、平行光、点光源,从物体表面材质角度看又包括漫反射和镜面反射。后面是粒子和粒子系统。这几篇都是涉及怎么定义场景的,至于怎么渲染场景很难有深入。我准备接下来去看Demo的代码,结合者看看WebGLRenderer类的源代码(几千行OMG)。 阅读全文
posted @ 2012-12-24 16:37 一叶斋主人 阅读 (2491) 评论 (0) 编辑
摘要:算法导论里的习题,有很多都是经典,不少题目都做不出来,到网络上找答案,再自己慢慢理解,这样的过程使我受益。我精选了一部分习题,写出思路作为存档以供查阅。从这篇博文开始,我尝试使用MathJax来显示公式,而不是之前若干篇博文中使用图片,如果你的浏览有什么问题,请告诉我。 阅读全文
posted @ 2012-12-21 09:07 一叶斋主人 阅读 (2136) 评论 (2) 编辑
摘要:排序算法是最基础的一类算法。主要排序算法包括选择排序、插入排序、冒泡排序、合并排序、堆排序和快速排序。把这些排序算法全部实现一边,再把《算法导论》对应章节后面的习题做一遍,确实是系统学习算法的一个不错的开端。 阅读全文
posted @ 2012-12-12 14:07 一叶斋主人 阅读 (2627) 评论 (4) 编辑