资源简介
本人考研上岸985,自己整理了一些计算机408的资料,里面还有包括高数,英语的一些资料。需要的积分不是很多,希望下载看看~
代码片段和文件信息
// 寻找编号分别为i和j的两个结点的最近公共祖先结点。
int common_ancestor(BTree T int i int j) {
while(i!=j) {
if(i>j)
i=i/2; //向上寻找i的祖先
else
j=j/2; //向上寻找j的祖先
}
}
//先序遍历(NLR)
void PreOrder(BTree T) {
if(T!=NULL) {
visit(T); //访问根结点
PreOrder(T->lchild); //递归遍历左子树
PreOrder(T->rchild); //递归遍历右子树
}
}
//中序遍历(LNR)
void InOrder(BTree T) {
if(T!=NULL) {
PreOrder(T->lchild); //递归遍历左子树
visit(T); //访问根结点
PreOrder(T->rchild); //递归遍历右子树
}
}
//后序遍历(LRN)
void PostOrder(BTree T) {
if(T!=NULL) {
PreOrder(T->lchild); //递归遍历左子树
PreOrder(T->rchild); //递归遍历右子树
visit(T); //访问根结点
}
}
//中序遍历的非递归算法实现
void InOrder2(BTree T) {
InitStack(S); BTree p=T; //p为遍历指针
while(p||!IsEmpty(S)) { //栈不空或p不空
if(p) { //根指针入栈,遍历左子树
Push(S p);
//visit(p); //(先序)访问根结点
p=p->lchild;
}
else {
Pop(S p); //根指针退栈,遍历右子树
visit(p); //(中序)访问根结点
p=p->rchild;
}
}
}
void LevelOrder(BTree T) {
InitQueue(Q); BTree p;
EnQueue(Q T); //将根结点入队
while(!IsEmpty(Q)) {
DeQueue(Q p); //队头元素出队
visit(p); //访问结点
if(p->lchild!=NULL)
EnQueue(Q p->lchild); //左子树不为空,则入队
if(p->rchild!=NULL)
EnQueue(Q p->rchild); //右子树不为空,则入队
}
}
//求二叉树的高度
int heigthOfTree(BTree T) {
//某结点的高度等于该结点子树的最大高度加上根结点(1)。
if(T->NULL)
return 0;
else
return 1 + max(heigthOfTree(T->lchild) heigthOfTree(T->rchild));
}
//采用层次遍历的方法求二叉树的高度
int Btdepth(BTree T) {
if(!T)
return 0;
int front=-1 rear=-1;
int last=0 level=0; //last指向当前层最右结点
BTree Q[MaxSize];
Q[++rear]=T; //将根结点入队
BTree p;
while(front p=Q[++front]; //队头元素出队
if(p->lchild)
Q[++rear]=p->lchild; //左孩子入队
if(p->rchild)
Q[++rear]=p->rchild; //右孩子入队
if(front==last) { //处理该层的最右结点
level++; //层数加1
last=rear; //last指向下一层的最右结点
}
}
return level;
}
//求二叉树所有结点的个数
int numOfNodes(BTree T) {
//当树为空时,结点个数为0;否则为根节点个数(1)加上根的左子树中节点个数再加上根的右子树中节点的个数。
if(T==NULL)
return 0;
else
return 1 + numOfNodes(T->lchild) + numOfNodes(T->rchild);
}
//求二叉树的叶子结点个数
int numOfLeaf(BTree T) {
//叶子结点数等于左子树的叶子结点数加上右子树的叶子结点数
if(T==NULL)
return 0;
if(T->lchild==NULL && T->rchild==rchild) //当某个节点的左右子树均为空时,则该结点为叶子结点。
return 1;
else
return numOfLeaf(T->lchild) + numOfLeaf(T->rchild);
}
//求二叉树某结点的双亲
BTree ParentOfNode(BTree T BTree root BTree p) {
if(T==root)
return NULL;
if(T!=NULL) {
if(T->lchild==p || T->rchild==p)
return T;
ParentOfNode(T->lchild root p);
ParentOfNode(T->rchild root p);
}
}
//判断二叉树是否为完全二叉树
//采用层次遍历的算法,将所有结点假如队列(包括空结点)。
//当遇到空结点时,检查其后是否有非空结点。若有,则不是完全二叉树。
bool IsComplete(BTree T) {
InitQueue(Q);
BTree p;
if(!T)
return 1; //空树是满二叉树
EnQueue(T);
while(!IsEmpty(Q)) {
DeQueue(Q p);
if(p) {
EnQueue(Q p->lchild);
EnQueue(Q p->rchild);
}
else {
while(!IsEmpty(Q)) {
DeQueue(Q p);
if(p)
r
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 545044 2018-12-17 16:31 英语二真题单词.pdf
文件 12216 2018-12-10 16:53 code.c
文件 368425 2018-12-20 22:03 操作系统.pdf
文件 283821 2018-11-24 18:31 词汇表.pdf
文件 259250 2018-12-20 22:01 计算机网络.pdf
文件 636903 2018-12-20 22:05 计算机组成原理.pdf
文件 1442704 2018-11-07 11:40 计组补充知识.docx
文件 607503 2018-11-07 11:24 流水线五个段.pdf
文件 1370106 2018-12-20 22:03 数据结构.pdf
文件 20030 2018-12-20 15:13 数学笔记.docx
文件 265885 2018-12-20 21:59 英二大作文.pdf
文件 66000 2018-12-21 11:36 英语二翻译.pdf
文件 14072 2018-11-16 21:37 408大题.docx
----------- --------- ---------- ----- ----
5891959 13
相关资源
- 天勤2019版操作系统高分笔记PDF高清无
- 数据结构高分笔记 第6版 2018版
- 管致中《信号与线性系统》笔记和课
- 数据结构与算法之美
- 王道2019年操作系统无水印可打印PDF
- 数据结构 陈越 第二版
- 2019王道论坛计算机组成原理pdf高清
- 数据结构—集合运算实现 实现报告含
- 王道2020考研笔试全集+机试指南.zip
- 中国石油大学华东考研控制工程复试
- 算法笔记晴神宝典高清
- 北交大925数据结构真题和答案.zip
- 最新中南大学943数据结构真题及答案
- 西北大学软件工程考研复试资料笔试
- 数据结构与算法 PPT 北京大学 张铭
- 算法设计与分析-屈婉玲-第二版
- 计算机 408 2009-2020真题及解析.zip
- 精心整理史上最全的数据结构flash演示
- 利用带头结点的单链表实现两个集合
- 王道计算机2020四本全集.rar
- 2019北邮计算机803考研复试指导
- 华北电力大学考研电力系统分析习题
- 北航961计算机2010-2018高清版真题及答
- 数据结构与算法 王曙燕 有mooc配套视
- 王道 计算机考研 数据结构
- 2019考研数学接力题典1800 数学一 解答
- 天勤2019版计算机组成原理高分笔记带
- 2019王道考研单科数据结构
- 数据结构预算法之美音频35-56
- 天勤2019数据结构计算机考研复习指导
评论
共有 条评论