数据结构重点Jack.docx

上传人:b****5 文档编号:6663608 上传时间:2023-01-08 格式:DOCX 页数:10 大小:57.97KB
下载 相关 举报
数据结构重点Jack.docx_第1页
第1页 / 共10页
数据结构重点Jack.docx_第2页
第2页 / 共10页
数据结构重点Jack.docx_第3页
第3页 / 共10页
数据结构重点Jack.docx_第4页
第4页 / 共10页
数据结构重点Jack.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数据结构重点Jack.docx

《数据结构重点Jack.docx》由会员分享,可在线阅读,更多相关《数据结构重点Jack.docx(10页珍藏版)》请在冰豆网上搜索。

数据结构重点Jack.docx

数据结构重点Jack

数据结构考试重点

一、软件危机的定义及产生的原因:

在计算机软件的开发和维护过程中遇到的一系列严重问题

定义:

“软件开发的高成本与低质量之间的矛盾”

二、软件测试方法的分类:

黑盒和白盒,黑盒即只能看见外在呈现的东西,不能看见裏面的结构和内容;白盒能够看见内在所有的内容和结构。

软件测试角度:

黑盒是你只能看见功能和页面,即所有最终展现的东西,当然这也就是你的测试对象;白盒是你能看到是是代码和架构,即所有内部结构和内容,同样这些也就是你的测试对象。

三、数据结构的分类:

逻辑结构

顺序存储结构

物理结构:

链式存储结构

四、算法的伪代码:

顺序表的插入:

Insert(inti,int&x){//在i位置插入x

intk;

if(last==MAXLENGTH){

printf(“线性表已满!

\n”);

exit(-1);}

if(i<1||i>last+1){

printf(“插入位置错误!

\n”);

exit(-2);}

else{

for(k=last-1;k>=i;k--)

list[k+1]=list[k];

list[i]=x;

++last;}

}

顺序表的删除:

Remove(inti){//删除i位置的元素

intk;

if(i<1||i>last){//下表以1作为起始索引

printf(“表中不存在位置为i的元素\n”);

exit(-1);

}

for(k=i;k<=last-1;k++)//后面元素前移

list[k]=last[k+1];

last--;

}

顺序表的并:

voidUnion(SeqList&A,SeqList&B)

{

intn=A.Length();

intm=B.Length();

for(inti=0;i<=m;i++){

intx=B.Get(i);//在B中取一元素

intk=A.Find(x);//在A中搜索它

if(k==-1)//若未找到插入它

A.Insert(n,x);n++;

}

}

顺序表的交:

voidIntersection(SeqList&A,SeqList&B)

{

intn=A.Length();

intm=B.Length();inti=0;

while(i

intx=A.Get(i);//在A中取一元素

intk=B.Find(x);//在B中搜索它

if(k==-1){

A.Remove(i);n--;

}

elsei++;//未找到在A中删除它

}

}

链表的插入:

intList:

:

Insert(intx,inti){

//在链表第i个结点处插入新元素x

ListNode*p=current;current=first;

for(k=0;k

if(current==NULL)break;

elsecurrent=current->link;

if(current==NULL&&first!

=NULL){

cout<<“无效的插入位置!

\n”;

current=p;

return0;

}

ListNode*newnode=//创建新结点

newListNode(x,NULL);

if(first==NULL||i==0){//插在表前

newnode->link=first;

first=current=newnode;

}

else{//插在表中或末尾

newnode->link=current->link;

current=current->link=newnode;

}

return1;

}

链表的删除:

intList:

:

Remove(inti){

//在链表中删除第i个结点

ListNode*p,*q;intk=0;

if(i==0)//删除表中第1个结点

{q=first;current=first=first->link;}

else{

p=current;current=first;

//找第i-1个结点

for(k=0;k

if(current==NULL)break;

elsecurrent=current->link;

}

if(current==NULL||current->link==NULL){

cout<<“无效的删除位置!

\n”;

current=p;return0;

}

else{//删除表中或表尾元素

q=current->link;//重新链接

current=current->link=q->link;

}

Typex=q->data;deleteq;//删除q

returnx;//返回第i个结点的值

}

五、线性表的存储结构:

顺序存储结构

链式存储结构

六、栈与队列的定义:

栈:

只允许在一端插入和删除的线性表,允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)

特点:

⏹后进先出(LIFO)

⏹先进后出(FILO)

队列:

队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。

⏹队尾(rear)——允许插入的一端

⏹队头(front)——允许删除的一端

☐队列中没有元素时,称为空队列

☐队列特点

⏹先进先出(FIFO)

七、假溢出及怎样避免:

☐当front=-1,rear=M-1时,再有元素入队发生溢出——真溢出

☐当front-1,rear=M-1时,再有元素入队发生溢出——假溢出

☐假溢出的解决方法?

当rear=MAXSIZE+1时,即超过队列末端时,

令rear=1;从而使队列的首尾相连接。

用表达式描述:

if(rear>MAXSIZE)

rear=1;

else

rear=rear+1;

八、二叉树的三种遍历:

☐先序遍历

⏹先访问根节点,然后分别先序遍历左子树、右子树

⏹根节点最先遍历

☐中序遍历

⏹先中序遍历左子树,然后访问根节点,最后中序遍历右子树

⏹根在中间

☐后序遍历

⏹先后序遍历左、右子树,然后访问根节点

⏹根在最后

先序遍历:

递归算法

voidpreorder(bitree*root)

{

bitree*p;

p=root;

if(p!

=NULL){

printf(“%c“,p->data);

preorder(p->lchild);

preorder(p->rchild);

}

}

中序遍历:

递归算法

voidinorder(biteee*root)

{

bitree*p;

p=root;

if(p!

=NULL)

{

inorder(p->lchild);

printf(“%c“,p->data);

inorder(p->rchild);

}

}

后序遍历:

递归算法

voidpostorder(bitree*root)

{

bitree*p;

p=root;

if(p!

=NULL){

postorder(p->lchild);

postorder(p->rchild);

printf(“%c“,p->data);

}

}

哈夫曼树:

⏹带权路径长度最短的树

⏹路径

☐从树中一个节点到另一个节点之间的分支构成这两个节点间的路径

⏹路径长度

☐路径上的分支数

⏹树的路径长度

☐从树根到每一个节点的路径长度之和

完全二叉树包含满二叉树。

九、图

有向图的识图、图的遍历

深度优先遍历:

 

深度优先遍历结果:

V1,V2,V4,V8,V5,V3,V6,V7

广度优先遍历:

 

V1,V2,V3,V4,V5,V6,V7,V8

Prim算法:

所得生成树权值和=1+2+3+5+6+8+10

=35

Kruskal算法:

structSGNode

{

intkey;//结点自身标识

//与当前结点相邻的结点集合,及其与相邻结点之间路径的权值

mapneighNodes;

}

 

classCGraph

{

public:

//构造、析构函数

CGraph();

~CGraph();

public:

//其他函数,供实例调用

voidDFS();

voidBFS();

voidPrim();

voidKruskal();

protected:

//属性变量

/*自行设计完成*/

private:

//成员变量

vectorNodeSet;

}

十、L、U分解、Jacobi迭代、Gauss-Seidel迭代

十一、最小二乘法、超定方程、

十二、实际问题水准网平差

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1