__七把刀__

新的文章请移步简书查看 http://www.jianshu.com/u/4d4a2f26740b

中缀表达式转换为后缀表达式

一、后缀表达式求值 后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6  5  2  3  + 8 * + 3  +  *,则其求值过程如下: 1)遍历表达式,遇到的数字首先放入栈中,此时栈如下所示: 2)接着读到“+”,则弹出3和2,执行3+2,计算结果等...

2012-09-20 21:34:02

阅读数 81918

评论数 52

自己动手写一个栈

栈是一种后进先出的结构,实现栈有两种方法,链表和数组。用链表的好处在于不用提前声明大小,只在需要的时候创建。而使用数组的好处在于不用指针操作,但是却需要提前声明数组大小。不过通常使用栈的时候,容量都不需要太大,所以使用数组实现也是不错的方法。栈的数组实现比较简单,所以本文只写栈的链表实现。   ...

2012-09-20 20:22:38

阅读数 3339

评论数 0

最长回文子串

题目描述 给定一个字符串,找出该字符串的最长回文子串。回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串。字符串abbacdc存在的回文子串有abba和cdc,因此它的最长回文子串为abba。 一个容易犯的错误 初看这个问题可能想到这样的方法:对字符串...

2012-09-17 15:36:53

阅读数 6942

评论数 12

链表模拟加法问题

题目描述 给定两个链表,每个链表的结点值为数字的各位上的数字,试求出两个链表所表示数字的和,并将结果以链表形式返回。 链表的结点定义如下: typedef struct node *pNode; struct node { int data; struct node *next; }; ...

2012-09-14 11:36:04

阅读数 1422

评论数 2

自己动手写内存分配函数malloc

一、关于malloc 很早就想写这篇文章了,一直拖着没有写,是想写个更完善的版本,不过最近确实没有太多时间去考虑一个很完整的版本,只有先把这个简单的版本写出来了。据说在微软今年招实习生的时候面过这个题目。 malloc()是C语言中动态存储管理的一组标准库函数之一,其作用就是从内存的动态存储区...

2012-09-13 21:51:37

阅读数 5369

评论数 0

最大滑动窗口

题目描述 给定一个数组A[],有一个大小为w的滑动窗口,该滑动窗口从最左边滑到最后边。在该窗口中你只能看到w个数字,每次只能移动一个位置。我们的目的是找到每个窗口w个数字中的最大值,并将这些最大值存储在数组B中。 例如数组A=[1 3 -1 -3 5 3 6 7], 窗口大小w为3。则窗口...

2012-09-11 17:38:03

阅读数 4085

评论数 2

和为N的连续正整数序列

题目 输入一个正整数数N,输出所有和为N连续正整数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 一种运用数学规律的解法 假定有k个连续的正整数和为N,其中连续序列的第一个数为x,则有x+(x+1)+(x+2)+...

2012-09-11 15:10:57

阅读数 1829

评论数 0

浅谈过载保护(转自腾讯大讲堂)

雪球:对于时延敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时请求达到一定规模,像雪球一样形成恶性循环。由于系统处理的每个请求都因为超时而无效,系统对外呈现的服务能力为0,且这种情况下不能自动恢复。 作者bison,腾讯后台开发技术总监。   过载保护...

2012-09-06 20:08:47

阅读数 1269

评论数 0

Cassandra数据模型

Cassandra数据模型 几个概念 Cluster:集群,一个逻辑上的cassandra实例包含的节点。一个集群可以包含多个keyspace。 Keyspace:Column Family的名字空间,通常是一个应用一个keyspace。 Column Family:包含多个col...

2012-09-04 09:00:29

阅读数 1113

评论数 0

二叉搜索树转换成有序的双向循环链表(一)

题目描述 给定一棵二叉排序树(BST),将该树转换成一棵双向循环链表。请看下面的图示说明,你可以更清楚的了解题意。 BST的结构定义如下: struct node { int data; struct node* left; struct node* right; }...

2012-09-03 22:46:53

阅读数 2857

评论数 0

二叉树两结点最低公共祖先结点(二)

问题 在前面的文章二叉树两结点最低公共祖先结点(一) 中有探讨过这个问题,不过本文考虑的是另外一种二叉树,该二叉树每个结点包含一个指向父结点的指针,根结点的父结点为NULL。其结构如下: struct node { int data; s...

2012-09-03 17:37:22

阅读数 2301

评论数 2

二叉搜索树两结点最低公共祖先结点

题目 给定一棵二叉搜索树(BST),找出树中两个结点的最低公共祖先结点(LCA)。二叉搜索树结点定义: struct node { int data; struct node* left; struct node* rig...

2012-09-03 16:29:42

阅读数 2409

评论数 2

二叉树两结点的最低公共祖先结点(一)

题目 二叉树结点的定义如下: struct node { int data; struct node* left; struct node* right; }; 给定二叉树中的两个结点,输出这两个结点的最低公共祖先结点(LCA)。注意,该二叉树不一定是二叉搜索...

2012-09-02 23:01:42

阅读数 7829

评论数 4

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