刚学avl树,在写程序的过程中遇到一些很小但需要注意的问题。class AVLTree:public BinarySearchTree
{
public:
//下面两个函数调用递归版本插入删除(主要是因为root为private,对于对象而言不可访问)
Error_code Insert(const Record &newData);
Error_code Rem...
分类:
其他好文 时间:
2016-05-27 13:03:53
阅读次数:
231
分解方法 概述 “分解方法”的思想和前面讲到的“提取方法”、“提取方法对象”基本一致。它是将较大个体的方法不断的拆分,让每个“方法”做单一的事情,从而提高每个方法的可读性和可维护性。分解方法可以看做是“提取方法”的递归版本,它是对方法反复提炼的一种重构策略。 分解方法 下图表示了这个重构策略,第1次 ...
分类:
其他好文 时间:
2016-05-03 20:16:32
阅读次数:
425
概述 “分解方法”的思想和前面讲到的“提取方法”、“提取方法对象”基本一致。它是将较大个体的方法不断的拆分,让每个“方法”做单一的事情,从而提高每个方法的可读性和可维护性。分解方法可以看做是“提取方法”的递归版本,它是对方法反复提炼的一种重构策略。 分解方法 下图表示了这个重构策略,第1次提炼和第2... ...
分类:
其他好文 时间:
2016-05-03 00:24:48
阅读次数:
409
1.11递归版本 1.12 1.13证明题看着都烦...作为补偿我来实现一下1.12的迭代版本 > 失败经过百度发现了一个公式 > (row col)=row!/(col!?(row?col)!) > 有这个公式的话那实现起来很简单,就不演示了... ...
分类:
其他好文 时间:
2016-05-01 13:35:52
阅读次数:
242
八、递归消除
按照递归的思想可使我们得以从宏观上理解和把握应用问题的实质
深入挖掘和洞悉算法过程的主要矛盾和一般性模式
并最终设计和编写出简洁优美且精确紧凑的算法
然而,递归模式并非十全十美,其众多优点的背后也隐含着某些代价
(1)空间成本
首先,从递归跟踪分析的角度不难看出,递归算法所消耗的空间量主要取决于递归深度
故较之同一算法的迭代版,递归版往往需耗费更多空...
分类:
其他好文 时间:
2016-04-22 18:58:05
阅读次数:
279
//写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,
//例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
//递归版
#include<stdio.h>
intDigitSum(intn)
{
intsum=0;
intm=0;
if(n)
{
m=n%10;
n=n/10;
sum=m+DigitSum(n);
}
returnsum;
..
分类:
其他好文 时间:
2016-04-08 15:26:17
阅读次数:
189
之前用js写了个归并排序非递归版,而这一次,c++封装链表的时候也遇到了一个归并排序的接口。邓老师实现了递归版本的归并排序,但是递归的调用函数栈的累积是很占内存空间的。于是乎,那试试在链表结构上实现以下归并排序吧。但是一旦开始,就遇到难题了,在链表下,我们无法按索引访问,所以,在迭代过程中,左右序列 ...
分类:
编程语言 时间:
2016-03-29 23:41:03
阅读次数:
214
普通的并查集是这样婶的 void find1(int x) { int t=x; while(pre[t]!=t) { t=pre[t]; } } 如果复杂度比较高的话可以使用路径压缩(非递归版好理解,且不易爆栈),是这样婶的 void find1(int x) { int t=x; while(p
分类:
其他好文 时间:
2016-02-18 13:24:54
阅读次数:
152
一看到这道题觉得很水,打了递归树形DP后RE了一组,后来发现必须非递归(BFS)递归版本84分:#include#include#includeusing namespace std;int N,point[1000003],next[2000003],v[2000003],c[2000003].....
分类:
其他好文 时间:
2016-01-11 22:13:30
阅读次数:
210