
数据结构与算法
昕玫
求知而无欲
展开
-
(面试前复习)二叉树遍历 递归与非递归实现
二叉树的遍历方式有前序遍历,中序遍历和后序遍历这三种方式,我们现在就定义一个数据结构树,如下: struct Tree{ Tree * lchild; Tree * rchild; Element data;//数据域 } 为了实现树的非递归遍历,这里我们需要增加一个数据结构站stack,其实,递归的实现是用系统自带的栈来实现的。 对应的前序遍历如下: void preTrave转载 2012-10-09 15:30:28 · 1215 阅读 · 0 评论 -
(笔试前准备)字符串匹配算法总结
我想说一句“我日,我讨厌KMP!”。 KMP虽然经典,但是理解起来极其复杂,好不容易理解好了,便起码来巨麻烦! 老子就是今天图书馆在写了几个小时才勉强写了一个有bug的、效率不高的KMP,特别是计算next数组的部分。 其实,比KMP算法速度快的算法大把大把,而且理解起来更简单,为何非要抓住KMP呢?笔试出现字符串模式匹配时直接上sunday算法,既简单又高效,何乐而不为? 说实话,想转载 2012-10-10 22:24:53 · 1430 阅读 · 1 评论 -
(笔试前复习)java-两种方法求第一个最长的可重复子串
import java.util.Arrays; import java.util.Collections; import java.util.List; public class MaxPrefix { public static void main(String[] args) { String str="转载 2012-10-10 22:30:20 · 1009 阅读 · 0 评论 -
(笔试前复习)比KMP算法更简单更快的字符串匹配算法
我想说一句“我日,我讨厌KMP!”。 KMP虽然经典,但是理解起来极其复杂,好不容易理解好了,便起码来巨麻烦! 老子就是今天图书馆在写了几个小时才勉强写了一个有bug的、效率不高的KMP,特别是计算next数组的部分。 其实,比KMP算法速度快的算法大把大把,而且理解起来更简单,为何非要抓住KMP呢?笔试出现字符串模式匹配时直接上sunday算法,既简单又高效,何乐而不为? 说实话,想转载 2012-10-12 19:19:40 · 5099 阅读 · 0 评论 -
(笔试前复习)二叉树运算
5. 2 二叉树 1.二叉树的基本形态: 二叉树也是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态: (1)空二叉树——(a); (2)只有一个根结点的二叉树——(b); (3)右子树为空的二叉树——(c); (4)左子树为空的二叉树——(d); (5)完全二叉树——(e) 注意:尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形。转载 2012-10-17 09:30:52 · 1442 阅读 · 0 评论 -
求0x5f3759df的数学原理
为什么这个数比其他数更好呢? http://www.douban.com/note/93460299/ Quake-III Arena (雷神之锤3)是90年代的经典游戏之一。该系列的游戏不但画面和内容不错,而且即使计算机配置低,也能极其流畅地运行。这要归功于它3D引擎的开发者约翰-卡马克(John Carmack)。事实上早在90年代初DOS时代,只要能在PC上搞个小动画都能让人惊叹一番的时转载 2015-01-20 18:24:39 · 2309 阅读 · 0 评论 -
通信协议与序列化方案的纠结: Protocol Buffer, thrift or hessian?
原地址:通信协议与序列化方案的纠结: Protocol Buffer, thrift or hessian? 最早我用hessian作为java搜索服务中的通信协议和序列化方案。松耦合,部署,调用方便。这两年很多人跟我提起protocol buffer,thrift。特别是最近从不少地方的信息看到很多地方在用,也找到一些改用protocol buffer或者apache thri转载 2015-06-16 09:33:05 · 2888 阅读 · 0 评论 -
BSON与JSON的区别
BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式。BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。 BSON主要会实现以下三点目标: 1.更快的遍历速度 对JSON格式来说,太大的JSON结构会导致数据遍历非常慢。在JSON中,要跳过一个文档进行数据读取,需要对转载 2015-08-14 10:49:42 · 1291 阅读 · 0 评论