欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年数据结构算法设计期末复习题文 .pdf

    • 资源ID:25942579       资源大小:33.79KB        全文页数:4页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年数据结构算法设计期末复习题文 .pdf

    二、算法设计1、设计一个算法,通过一趟遍历在单链表中确定值最大的结点。ElemType Max (LinkList L ) if(L-next=NULL) return NULL; pmax=L-next; / 假定第一个结点中数据具有最大值p=L-next-next; while(p != NULL )/如果下一个结点存在if(p-data pmax-data) pmax=p; p=p-next; return pmax-data; 2、设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。void inverse(LinkList &L) / 逆置带头结点的单链表L p=L-next; L-next=NULL; while ( p) q=p-next; / q 指向 *p 的后继p-next=L-next; L-next=p; / *p 插入在头结点之后p = q; 3、 设计一个算法, 删除递增有序链表中值大于mink 且小于 maxk 的所有元素 (mink 和 maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同)。void delete(LinkList &L, int mink, int maxk) p=L-next; / 首元结点while (p & p-datanext; / 查找第一个值 mink 的结点if (p) while (p & p-datanext; / 查找第一个值maxk 的结点q=pre-next; pre-next=p; / 修改指针while (q!=p) s=q-next; delete q; q=s; / 释放结点空间 /if 4、假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s 为指向链表中某个结点的指针,试编写算法在链表中删除指针s 所指结点的前驱结点。typedef struct LNode ElemType data; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - struct LNode *next; LNode, *LinkList; ElemType DeleteNode(LinkList s) /* 删除指针s所指结点的前驱结点,并返回被删结点的元素值*/ LinkList p; p=s-next; while(p-next-next!=s) p=p-next; ElemType e=p-next-data; p-next=s; return e; 5、已知长度为n 的线性表A 采用顺序存储结构,请写一时间复杂度为0(n)、空间复杂度为0(1)的算法,该算法删除线性表中所有值为item 的数据元素。void DeleteItem(SeqList *L,ElemType item) int i=0,j=L-last; while(ij) while(ielemi!=item) i+; while(ielemi=item) j-; if(ielemi=L-elemj; i+; j-; L-last=i-1; 6、写一个算法,求出循环链表结点的个数。(不包括头结点)int count(Linklist head) int n=0; ListNode.p=head-next; while(p!=head) n+;P=P-next; return n; 7、写一算法在单链表上实现线性表的ListLength(L) 运算。int ListLength ( LinkList L ) int len=0 ; ListNode *p; p=L; / 设该表有头结点while ( p-next ) p=p-next; len+; return len; 8、试写一算法计算二叉树的深度(高度)。int Height(btre bt)/ 求二叉树bt 的深度int hl,hr; if(bt=null) return(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - else hI=Height(bt-lch); hr=Height(bt-rch); if(hlhr) return (hl+1); else return(hr+1); 9、试写一算法统计用二叉链表表示的二叉树叶子结点总数。int leaf ( BinTreeNode * ptr ) if ( ptr = NULL ) return 0; else if ( ptr-leftChild = NULL & ptr-rightChild = NULL ) return 1; else return leaf ( ptr-leftChild ) + leaf ( ptr-rightChild ); 10、已知二叉树的定义如下:typedef struct node int data; struct node *lchild, *rchild; *bitree ;试分别写出二叉树的后根遍历和中根遍历的递归算法。后int visit (bitree T) if(T=null) return 0; visit (T-lchirld); visit (T-rchirld); printf(“ %d ” ,data); 中int visit (bitree T) if(T=null) return 0; visit (T-lchirld); printf(“ %d ” ,data);visit (T-rchirld); 11、已知二叉树的定义如下:typedef struct node int data; struct node *lchild, *rchild; *bitree ;编写二叉树先序遍历的递归算法。先int visit (bitree T) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - if(T=null) return 0; printf(“ %d ” ,data);visit (T-lchirld); visit (T-rchirld); 12、要求二叉树按二叉链表形式存储,写一个建立二叉树的算法。BiTree Creat() /建立二叉树的二叉链表形式的存储结构ElemType x;BiTree bt; scanf(“%d”,&x); /本题假定结点数据域为整型if(x=0) bt=null; else if(x0) bt=(BiNode *)malloc(sizeof(BiNode); bt-data=x; bt-lchild=creat(); bt-rchild=creat(); else error(“输入错误”); return(bt); / 结束BiTree 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

    注意事项

    本文(2022年数据结构算法设计期末复习题文 .pdf)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开