JavaScript基础笔记

最近在学习JavaScript,这里记录一下其基础作为笔记,主要参考JavaScript高级程序设计JavaScript: The Definitive Guide

阅读更多

关于循环不变式

最早接触循环不变式是在『编程珠玑』这本书上,其中有一章节提到了快速排序算法,然后以很清晰的思路将这个经典算法讲解得十分通透,以至于过了三四年我还记忆犹新。

阅读更多

Godoc-一个Go代码文档化工具

本文翻译自Godoc: documenting Go code一文,一方面当作自己翻译的第一篇练习,另一方面也熟悉一下Go的文档化工具。下面是翻译内容:

阅读更多

大道至简

最近这段时间里,正值临近毕业,论文已经提交后,基本上就很轻松了。于是便利用这时间的空档期看了几本书,这其中就有Paul Graham《黑客与画家》。一口气读完后,有种大呼痛快的感觉,看到作者一个又一个的观点时,我总是不禁心头一震,一方面佩服作者思想的深邃,另一方面也感叹他想问题之深。

阅读更多

VIM高级技巧收集

VIM有一些常用的命令,也有一些虽不那么常见却非常有用,这里收集一些平时使用过程中有用的命令。

阅读更多

找工作面试总结

找工作到目前应该算是可以收工了,现在把我之前面试过程中记录的一些笔记列举在这里。当初记录这些内容的目的是给自己一个备忘录,让自己知道应该复习哪些内容,同时也方便后来回过头来重新复习。

阅读更多

二叉树非递归遍历

二叉树的主要遍历方式有四种,分别是前、中、后、层序遍历。其中前面三种方式定义本身就是一个递归的形式,因此很容易通过递归方式把它们实现出来,而层序遍历则需要用到一个辅助的队列不断地把一层的结点不断地添加到队列中。对于层序的方法,如果把二叉树看作有向图,那就是一个广度优先遍历算法了。本方主要是就前三种遍历的非递归方式进行分析。其中前序和中序基本相同,而后序非递归则是难度最大的。

阅读更多

随机数相关的面试题

考虑以下几个问题:

阅读更多

排列组合面试题

面试题中,经常有一些求集合的全排列,组合等问题,本文主要就这些问题进行探讨,作为自己学习的一些记录笔记。本文主要内容包括:

阅读更多

设计模式初探

经典设计模式包含23种,在平常的程序设计中经常会有意无意地使用到其中几种,因此很有必要系统地进行学习;此外,设计模式可以简化代码的整体框架和结构,使用设计模式指导而写出来的代码可以很容易进行扩展。正如C++的模板编程一样,使用设计模式可以使不同的模块相互正交,从而组合扩展生成无穷的结果。下面是自己对其中常用的几种模式的一点笔记。

阅读更多