- 博客(12)
- 资源 (4)
- 收藏
- 关注
转载 不用栈实现二叉树非递归中序遍历
偶尔看到这样一个问题: 有个二叉树,每个节点除了左右指针外,还有一个指向父节点的指针。 要求不用递归,中序遍历这棵树。另要求空间复杂度是O(1). 空间复杂度为O(1),摆明就是不让用堆栈模拟递归,所以想了想思路,也请教过好几个朋友,大家都基本想法都差不多,由于
2011-09-25 21:59:29 538
原创 多线程和多进程的区别
很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。 今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发? 这个问题或许本身都不是个问题。但是对于没有
2011-09-25 21:45:14 441
翻译 大数运算——加法,减法,乘法
尝试实现了下大数运算的代码。 原理就是用int型数组模拟一个大数的每个位。 数组的[0]对应的大数的个位。 具体代码如下,主要考虑大于10的元素要进位,负数要借位。 view plaincopy to clipboardprint?
2011-09-25 21:44:33 402
转载 C++虚函数表解析(转) ——写的真不错,忍不住转了
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R
2011-09-25 21:41:56 277
转载 C语言中auto,register,static,const,volatile的区别
1)auto 这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 (2)register 这个关键字命令编译器尽可能
2011-09-25 21:39:42 191
转载 排序——快速排序(QuickSort)
有些东西再不贴出来,以后可能再也找不到了。陆续整理曾写过的排序算法。 快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序
2011-09-25 21:38:18 205
转载 算法导论第六章 堆排序C++源码
<br />#include <iostream><br />using namespace std;<br />void swap(int array[] , int i , int j)<br />{<br /> array[i] = array[i]+array[j];<br /> array[j] = array[i]-array[j];<br /> array[i] = array[i]-array[j];<br />}<br />void MaxHeapify(int arra
2011-02-19 17:53:00 237
转载 算法导论 习题6.2-5 用迭代法实现堆排序
<br />#include <iostream><br />using namespace std;<br />void swap(int array[] , int i , int j)<br />{<br /> array[i] = array[i]+array[j];<br /> array[j] = array[i]-array[j];<br /> array[i] = array[i]-array[j];<br />}<br />void MaxHeapify(int arra
2011-02-19 17:36:00 389
转载 算法导论 第七章快速排序与随机快速排序
<br />view plaincopy to clipboardprint?<br />#include <iostream> <br />#include <cstdlib> <br />#include <time.h> <br />using namespace std; <br /> <br />void swap(int array[] , int i , int j) <br />{ <br /> if(i!=j) /
2011-02-19 17:34:00 236
转载 算法导论 第七章快速排序与随机快速排序
<br />view plaincopy to clipboardprint?<br />#include <iostream> <br />#include <cstdlib> <br />#include <time.h> <br />using namespace std; <br /> <br />void swap(int array[] , int i , int j) <br />{ <br /> if(i!=j) /
2011-02-19 17:34:00 216
转载 单链表逆置
<br />void Reverse(LinkList head)<br />{<br /> LinkList p,q,r;<br /> p=head->next;<br /> q=p->next;<br /> while(q!=NULL)<br /> {<br /> r=q->next;<br /> q->next=p;<br /> p=q;<br /> q=r;<br /> }<br /> head->next->next=NULL;<br />
2011-02-19 17:31:00 237
原创 Vector和Hashtable的使用:
<br />Vector例子:可以往向量中添加各种类型的数据<br /> <br />class MyVector extends Vector<br />...{<br /> public MyVector()<br /> ...{<br /> super(1,1);<br /> }<br /> public void addInt(int i)<br /> ...{<br /> addElement(new Integer(i));<br />
2011-02-19 17:24:00 335
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人