- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
苏州科技学院数据结构期末复习2013推荐
数据结构期末复习:
一:数据:被计算机识别与处理的数值,字符等符号构成的集合。
数据元素:数据的基本单位,在计算机程序中作为一个整体进行考虑与处理。
数据结构:数据元素集合+数据关系集合。
物理结构:逻辑结构在计算机中的表示与实现。
算法时间的复杂度:T(n)=O(f(n))
二:线性表:
顺序表:线性表+数组
链表:线性表+动态指针
指针变量:存放别的变量的内存地址变量。
标识变量:P存放X的内存地址,则X是P的标识标量
顺序表求表长:
int length(SqList L,List La){
la=listlength(La);
return la;
}
插入元素操作:
Void ListInsert(SqList L,int i,ElemType e){
If(i1||iL.length+1)
ErrorMessage(“i值不合法”);
if(L.length=L.listsize)
increment(L);
q=(L.elem[i-1]);//q为插入位置
for (p=(L.elem[L.length-1]);p=q;--q)
*(p+1)=*p;
*q=e;
++L.length;
}
删除元素操作:
void ListDelete(SqList L,int i,ElemType e){
if(i1||iL.length)
ErrorMessage(“i值不合法”);
p=(L.elem[i-1]);
e=*p;
q=L.length-1+L.elem;
for(++p;p=q;++p)
*(p-1)=*p;
--L.length;
}
单链表求表长:
int Listlength(LinkList L){
p=L;k=0;
while(p){
k++;p=P-next;
}
return k;
}
插入操作:
void LinkInsert(LinkList L,Lnode *p,Lnode *s){
if(p==L){
s-next=L;L=s;
}
else{
q=L;
while(q-next!=p)q=q-next;
q-next=s;s-next=p;
}
}
删除结点操作:
void ListDelete(LinkList L,Lnode *p,ElemType e){
if(p==L){
L=p-next;
}
else{
q=L;
while(q-next!=p)q=q-next;
q-next=p-next;
}
e=p-data;delete p;
}
双向链表的插入:
void ListInsert(DuLinkList L,DuNode *p,DuNode *s){
s-next=p;s-prior=p-prior;
p-prior=s;s-prior-next=s;
或者:
p-prior-next=s;p-prior=s;
s-next=p;s-prior=p-prior;
}
双向链表的删除:
void LinkDelete(DuLinkList L,DuNode *p,ElemType e){
e=p-data;
p-prior-next=p-next;
p-next-prior=p-prior;
}
三:排序。
关键码按从大到小或者从小到大重新排列的过程。
稳定排序:数值相同的关键码在排序前后先后位置不变的排序。
关键码:用来比较大小的数据元素。
插入排序:
流程图设计:核心算法:
初始化:参数,线性表,长度。i,j,x,ss[]
for(int i=1;in;i++){
int j=i-1;x=ss[i];
while(ss[j]=ss[i]j=0){
ss[j+1]=ss[j];
j--
}
ss[j]=x;
}
for(int j=i-1;x=ss[j];j--){
ss[j+1]=ss[j];
ss[j]=x;
}
选择排序:
选择元素与第一个元素比较并交换。
初始化:ss[],i,j,x1,x2,temp;
for(i=0;in-1;i++){
x1=i;x2=ss[i];
for(j=i+1;jn;j++){
if(ss[j]ss[i]){
x2=ss[j];x1=j;
}
}
if(x1!=i){
temp=ss[j];ss[j]=ss[i];
ss[i]=temp;
}
}
基数排序:
初始化:参数,ss[],定义i,j,s0[],s1[],s2[],,,s9[],T[]
分配:for(int i=0;ilength;i++){
int x=ss
您可能关注的文档
最近下载
- ISO22320:2011《公共安全-应急管理-事故响应要求》国际标准解读 Interpretation of ISO22320:2011: Societal Security Emergency Management Requirements for Incident Response.pdf
- 邵阳学院本科教学审核评估知识手册(学生版).pdf
- 人教部编版道法七上 6.1《友谊的真谛》课件.pptx VIP
- 2020学年第一学期“1530”安全警示教育记录.docx
- 2024年度学校大队委员少先队知识竞赛应知应会题库及答案 .pdf VIP
- 雅马哈PSR-S970&PSR-S770中文说明书.pdf VIP
- 数字化校园资源库建设方案.doc
- 滴滴司机签署承诺书.docx
- 监理单位对施工单位安全技术交底记录.pdf
- 中国彩塑精华珍赏丛书 长治观音堂(明).pdf
文档评论(0)