这里引入这思想是因为接下来的排序算法要用到
什么是至上而下 自下而上?用一个比喻来说明,好像我要盖一栋楼房。首先我要分析这栋楼房的组成,有窗户,有门,有围墙等。而这些又由木材、水泥、钢筋组成,那么我们要盖这栋楼,先要创造出水泥、木材这些东西,有这些原料我们才能进一步创建出需要的窗户、门、围墙等。进一步再组装成房子。在这个例子中,把一个庞然大物不断细分成小模块,这就是至上而下,而一步步实现这些小模块,进而组装实现大模块这就是自下而上。这思想在软件工程中有着重大意义。首先是需求分析,需要不断细分,而后一一实现,不仅有利于解决复杂问题(如计算机网络中的分层),而且像开发常见的分层模型,也有利于维护。这种思想随处可以体现,比如邻接表的定义
#include<iostream>
using namespace std;
#define MaxSize 100
struct CTNode{
int child;
CTNode * next;
};
struct CTBox{
char data;
CTNode * firstchild;
};
struct CTree{
CTBox nodes[MaxSize];
int n, r;
};
接下来讲的算法很好体现这思想,可以查看我的下篇文章