自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

__七把刀__

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

  • 博客(13)
  • 收藏
  • 关注

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

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

2012-09-20 21:34:02 174327 84

原创 自己动手写一个栈

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

2012-09-20 20:22:38 4782

原创 最长回文子串

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

2012-09-17 15:36:53 7494 12

原创 链表模拟加法问题

题目描述给定两个链表,每个链表的结点值为数字的各位上的数字,试求出两个链表所表示数字的和,并将结果以链表形式返回。链表的结点定义如下:typedef struct node *pNode;struct node{ int data; struct node *next;};题目有点拗口,请看一个例子:假定两个链表分别为list1和list2,list1各个结点值分别为

2012-09-14 11:36:04 1743 2

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

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

2012-09-13 21:51:37 8171 1

原创 最大滑动窗口

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

2012-09-11 17:38:03 4674 1

原创 和为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)+...+(x+k-1) = N。从而可以求得x = (N - k*(k-1)/2)  /  k。当x的

2012-09-11 15:10:57 4621

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

雪球:对于时延敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时请求达到一定规模,像雪球一样形成恶性循环。由于系统处理的每个请求都因为超时而无效,系统对外呈现的服务能力为0,且这种情况下不能自动恢复。作者bison,腾讯后台开发技术总监。  过载保护,看似简单,但是要做好并不容易。这里用两个曾经经历的反面案例,给出过载保护的直观展现,并附上一点感想。

2012-09-06 20:08:47 1520

原创 Cassandra数据模型

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

2012-09-04 09:00:29 1218

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

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

2012-09-03 22:46:53 3499

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

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

2012-09-03 17:37:22 2503 2

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

题目给定一棵二叉搜索树(BST),找出树中两个结点的最低公共祖先结点(LCA)。二叉搜索树结点定义: struct node { int data; struct node* left; struct node* right; }; 如下图为一棵BST,结点2和8的LCA是6,结点4和2的LCA是2

2012-09-03 16:29:42 2629 2

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

题目二叉树结点的定义如下:struct node { int data; struct node* left; struct node* right;};给定二叉树中的两个结点,输出这两个结点的最低公共祖先结点(LCA)。注意,该二叉树不一定是二叉搜索树。比如给定的二叉树如下所示,则可以知道结点1和5的最低公共祖先结点为5,结点4和5的最低公共祖先

2012-09-02 23:01:42 11465 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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