- 博客(19)
- 收藏
- 关注
原创 求二叉树中两个节点的最大距离
二叉树节点的结构体定义如下:struct BTreeNode{ ElemType elem; // 当前节点元素 BTreeNode *left; // 左孩子结点 BTreeNode *right; // 右孩子节点 int maxLeft; //
2011-10-08 19:29:24 786
原创 最大公共连续子串(LCS问题)
这里介绍的是求最大公共连续子串的算法,至于非连续的子串问题,可以采用动态规划的方法,具体可参考:http://blog.csdn.net/v_july_v/article/details/6695482 这里就不在详述。 求最大公共连续子串的思路如下:用矩阵记
2011-10-05 10:16:57 1517
原创 Linux 磁盘分区和文件系统
本文以Ext2文件系统为例讲述Linux文件系统,由于Ext3文件系统是直接从Ext2文件系统发展而来,它完全兼容Ext2文件系统,所以本文的内容对于Ext2和Ext3都是适用的。 我们首先看一下磁盘分区和文件系统的结构图: 图 1 磁盘分区和文件系统结构图
2011-10-05 00:01:51 7722 3
原创 二叉树相关操作(遍历、路径、最近公共父节点、重构)
本文总结了二叉树的相关操作,并在最后附上所有操作的实现。还有不足之处,以后会及时更新~ 相关操作包括:1、插入:InsertBTree2、遍历1)前序遍历(递归):PreOrderTraverse2)前序遍历(非递归):PreOrderTraverse
2011-09-23 14:14:33 1694
原创 单链表反转
问题很简单,程序如下: #include #include using namespace std;struct LinkNode{ int data; LinkNode *next;};// 反转函数,head指针指向链表头结
2011-09-21 17:36:13 623
原创 C++ static关键字
static修饰的变量和函数被称为静态变量和静态函数。 一、非类的成员变量和函数1、静态全局变量内存位置:静态存储区作用域:文件2、静态局部变量内存位置:静态存储区作用域:定义所在的函数或语句块3、静态函数作用域:文件
2011-09-18 14:41:54 374
原创 字符串定义:s[]和*s 的区别
假设字符串定义如下:char s1[] = "hello1";char *s2 = "hello2"; 区别如下:1)存储区域不同s1、s2均存储在栈中;"hello1"存储在栈中,因为它是一个字符串数组;"hello2"存储在常量存储区;
2011-09-18 11:28:56 2591 2
转载 关于常见排序算法的稳定性分析和结论
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为
2011-09-17 15:53:46 299
转载 从头至尾漫谈虚函数
程序员编程艺术:第八章、从头至尾漫谈虚函数作者:July。出处:http://blog.csdn.net/v_JULY_v 。 前奏 有关虚函数的问题层出不穷,有关虚函数的文章千篇一律,那为何还要写这一篇有关虚函数的文章呢?看完本文后,相信能懂其意义之所
2011-09-11 09:54:07 503
原创 sizeof数据对齐问题
关于数据对齐问题,需要注意以下两点: 1)当成员变量的长度都小于处理器位数时,所有成员变量所占的总空间一定是最长的变量所占空间的整数倍;2)如果某一成员变量长度大于处理器位数,则以处理器的位数为对齐单位;示例程序和分析如下,#include
2011-09-11 09:04:07 1031 1
原创 C++中类所占的存储空间
先看程序再分析:#include using namespace std;class A{ int m_a; int get() { return m_a; } virtual void set(int a) {
2011-09-11 08:37:43 3567
原创 关于虚函数--析构函数是虚函数
先看下面的例子:#include using namespace std;// A是父类class A{public: A(){cout<<"A()"<<endl;} virtual ~A(){cout<<"~A()"<<endl;}};// B是A的
2011-09-10 22:07:53 494
原创 快速排序
快速排序思路如下:任选数组中一个元素作为关键字,,一趟partition下来的结果保证该关键字大于其左侧的元素,小于其右侧的元素;然后对其左侧和右侧的元素做partition操作;这么递归下去即可排序。代码如下:#include using namespace std;// 对A[low]...A[high]进行分区int partition(int
2011-09-10 18:27:37 355
原创 堆排序
堆排序的主要步骤包括:1、对要排序的数组建堆,此时堆顶(也就是数组第一个元素)要么最大,要么最小;2、交换数组第一个和最后一个元素;3、数组长度减1;4、保持最大堆或最小堆的特性;5、重复2、3、4,直至数组长度为1,结束。代码如下:#incl
2011-09-10 16:55:26 350
原创 堆栈问题分析
堆栈问题一前提知识关于“局部变量、全局变量、堆、堆栈、静态和全局”的知识,详见:http://blog.csdn.net/jamestaosh/archive/2009/09/02/4513188.aspx或者http://baike.baidu.com/view/93201.htm其中引用一段描述如下:· 栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。· 堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收
2011-05-27 11:16:00 1134 2
原创 链表指针容易犯的错误
往链表中插入一项时,如果指针使用不慎,容易造成错误。下面先看一段正确的代码:代码的功能是:往一个空链表中插入三项,每一项的元素分别是0,1,2。#include #include typedef struct _Node{ int elem; struct _Node *next;}Node;int main(){ Node *list = NULL; Node *tail = NULL; for (int i=0; i { Node *p = (Node
2011-05-24 19:57:00 1169
原创 这几周做一个小负责人的体会
<br /> 原来自己在做项目的时候一直是单枪匹马,总是自己设计,自己编码,最后自己测试。而且也只是这样,没有所谓的文档,也没有团队协作过,更没有如何去带领一个小组去完成一些任务。这几周我身为小“负责人”,是在摸索中前进,也算是对自己的职责尽职尽责。现在有了其他任务,要从这个小负责人的“职位”上退下来,于是就想记录一下这几周的感受。<br /> <br />1)选人<br />如果可以选的话,当然是根据任务的需求而选用合适的人,但是如果没有选择的权利的话,就充分发挥组内所有人的优势吧。<br />2)
2011-03-21 16:32:00 1282 2
原创 关于师兄师姐的就业经验交流(二)
<br />2011.3.17 北邮人论坛组织毕业生求职交流会<br /> <br />大致的内容和“关于师兄师姐的就业经验交流(一)”中的一致。在此,就只说不同的内容吧。<br /> <br />1、关于银行方面的求职<br /> <br />商业银行里与IT相关的部门包括<br />1)信息科技部:侧重行政,包括银行里设备的选择、购买与报修;<br />2)数据中心(或叫信息中心)/软开中心:主要的招人部门;<br />3)业务部门:也会去做业务,但他要保证这些业务能与计算机很好的交互,比如要保证这
2011-03-18 09:25:00 1273 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人