91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4.04MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2021-07-24
  • 語言: 其他
  • 標簽: 存儲器??CPU??74LS138??

資源簡介

本壓縮包包括一份存儲器與CPU連接的作業,作業形式為ppt,word。另外添加了20套與存儲器有關的試卷附有答案,作業內容如下:   某系統CPU地址總線20條,數據總線8條,存儲器系統由8KB的ROM(用2K*8位的2716芯片)和1KB的RAM(用1K*4位的2142芯片)組成,譯碼器采用74LS138。要求: 畫出CPU和存儲器的連接圖(采用全譯碼方式); 確定地址范圍(ROM處于低地址,RAM處于高地址); 利用下列規范的邏輯電路符號表示(見附錄) 用Powerpoint做出演示電子版,兩頁,一頁連接圖,另一頁為地址范圍。

資源截圖

代碼片段和文件信息

#define?MAX_NUM?100
#define?TRUE?1
#define?FALSE?0
#define?OK?1
#define?ERROR?0
#define?Status?int
#define?LH?1??//左高
#define?RH?-1?//右高
#define?EH?0??//等高
#define?TETYPE?“%c“
#define?TElemType?char
#include?
#include?
#include?
#include?
typedef?struct?BSTNode
{
TElemType?data;
int??????bf;????????????????????//結點的平衡因子
struct?BSTNode?*lchild?*rchild;//左.右孩子指針
}BSTNode?*BSTree;
//***********基本操作***************************************
void?Visit(BSTree?T)
{
printf(TETYPE?T->data);
printf(“(%d)“?T->bf);
printf(“?“);
}
Status?BSTreeEmpty(BSTree?T)
//初始條件:平衡二叉排序樹存在。
//操作結果:若T為空平衡二叉排序樹,則返回TRUE否則FALSE.
{
return?(T???FALSE?:?TRUE);
}
int?BSTreeDepth(BSTree?T)
//初始條件:平衡二叉排序樹存在。操作結果:返回T的深度。
{
int?L_depthR_depth;
if(T==NULL)
return?0;
else
{
if(T->lchild)
L_depth?=?BSTreeDepth(T->lchild);
else
L_depth?=?0;
if(T->rchild)
R_depth?=?BSTreeDepth(T->rchild);
else
R_depth=0;
return?(L_depth?>=?R_depth???L_depth?:?R_depth)+1;
}
}
int?LeafNum(BSTree?T)
//求葉子結點數,非遞歸中序遍歷
{
BSTree?s[MAX_NUM];?int?i=0num=0;?BSTree?p;

if(T)
{
s[i++]=T;
while(i)
{
while((p=s[i-1])&&p)
s[i++]=p->lchild;
--i;//空指針出
if(i)
{
p=s[--i];
if(!p->lchild&&!p->rchild)
{
num++;
Visit(p);
putchar(‘?‘);
}
s[i++]=p->rchild;
}
}
}
return?num;
}
int?NodeNum(BSTree?T)
//求結點數,非遞歸中序遍歷
{
BSTree?s[MAX_NUM];?int?i=0num=0;?BSTree?p;

if(T)
{
s[i++]=T;
while(i)
{
while((p=s[i-1])&&p)
s[i++]=p->lchild;
--i;//空指針出
if(i)
{
p=s[--i];
num++;
s[i++]=p->rchild;
}
}
}
return?num;
}
void?DestoryBSTree(BSTree?*T)
//后序遍歷銷毀平衡二叉排序樹T
{
if(*T)
{
if((*T)->lchild)
DestoryBSTree(&(*T)->lchild);
if((*T)->rchild)
DestoryBSTree(&(*T)->rchild);
free(*T);
*T?=?NULL;
}
}
void?R_Rotate(BSTree?*p)
{//對以*p為根的平衡二叉排序樹作右旋處理,處理之后p指向新的樹根結點
?//即旋轉處理之前的左子樹的根結點
BSTree?lc?=?NULL;

lc?=?(*p)->lchild;????????//lc指向*p的左子樹根結點
(*p)->lchild?=?lc->rchild;//lc的右子樹掛接為*p的左子樹
lc->rchild?=?*p;
*p?=?lc;????????????????//p指向新的根結點
}
void?L_Rotate(BSTree?*p)
{//對以*p為根的平衡二叉排序樹作左旋處理,處理之后p指向新的樹根結點,
?//即旋轉處理之前的右子樹的根結點
BSTree?rc?=?NULL;

rc?=?(*p)->rchild;????????//rc指向*p的右子樹根結點
(*p)->rchild?=?rc->lchild;//rc的左子樹掛接為*p的右子樹
rc->lchild?=?*p;????????
*p?=?rc;????????????????//p指向新的根結點
}
void?LeftBalance(BSTree?*T)
{//對以指針T所指結點為根的平衡二叉排序樹作左平衡旋轉處理,
?//本算法結束時,指針T指向新的根結點
BSTree?lc?=?NULL?rd?=?NULL;

lc?=?(*T)->lchild;???//lc指向*T的左子樹的樹根結點
switch(lc->bf)???????//檢查*T的左子樹的平衡度,并作相應的平衡處理
{
case?LH:?????????????//新結點插入在*T的左孩子的左子樹上,要作單右旋處理
(*T)->bf?=?lc->bf?=?EH;
R_Rotate(T);
break;
case?RH:?????????????//新結點插入在*T的左孩子的右子樹上,要作雙旋處理
rd?=?lc->rchild;?//rd指向*T的左孩子的右子樹的根
switch(rd->bf)???//根據其的平衡度,修改*T及其左孩子的平衡因子
{
case?LH:
(*T)->bf?=?RH;
lc->bf?=?EH;
break;
case?EH:
(*T)->bf?=?l

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????20360??2009-12-22?16:15??b.c

?????文件?????188452??2009-12-22?16:10??b.exe

-----------?---------??----------?-----??----

???????????????208812????????????????????2


評論

共有 條評論