zoukankan      html  css  js  c++  java
  • 博客作业2---线性表

    一、PTA实验作业(5分)

    1.题目1: jmu-ds- 顺序表删除重复元素

    2. 设计思路(伪代码或流程图)

    定义循环变量i,j,k 
    for i=0 to L->length-1
    当k<=j并且前后数据不相同时执行循环k++
    当遇到前后数据相同时跳出循环,将不重复的数据放在前面,如果前面都没有重复的就不移动,
    end for
    将顺序表的长度改为前面没有重复的数字个数
    
    

    3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

    4.PTA提交列表说明。

    初时没有考虑到空表,后来进行条件限定,

    1.题目2:集合的基本运算(单链表)

    2. 设计思路(伪代码或流程图)

    1. 对链表进行排序 
    构造一个只含数据节点的链表 
    q保存p节点后继节点的指针q=p->next
    从链表头开始比较pre指向插入p的前驱节点
    当链表满足有序,且不为空时将pre往后移
    遇到乱序时,将小的节点后继节点指向大的节点,pre后继节点改为小的节点,p节点后移p=q,
    
    2. 链表的合并 
    创建hc并分配空间 
    扫描ha和hb两个链表节点
    当ha的节点数据小于hb的节点数据时将ha的节点数据插入带hc中并ha后移一个节点
    当ha的节点数据大于hb的节点数据时将hb的节点数据插入带hc中并hb后移一个节点
    当ha的节点数据等于hb的节点数据时将hb的节点数据插入带hc中并ha和hb一起后移一个节点
    扫描完毕后判断ha,hb是否已经扫描到了最后一个节点
    没有的话将没有扫描的剩余的链表数据导入到hc中
    
    3.链表的交集
    扫描链表ha和hb,遇到ha,hb的数据节点相同的就插入到hc中
    由于数据是按递增排序的
    若ha的数据小于hb将ha后移
    若ha的数据大于hb将hb后移
    
    4.链表的差集
    由于数据是递增储存的
    若ha的数据小于hb的数据,将ha数据插入hc中并将ha后移
    若ha的数据大于hb的数据,将hb后移
    若两数据节点数据相等,则都后移一位
    
    

    3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)




    4.PTA提交列表说明。

    一次性过没有一点毛病老铁

    1.题目3 两个有序序列的中位数

    2. 设计思路(伪代码或流程图)

    用第二题的方法将两链表合并后中位数的节点就为链表总节点除2 
    定义i作为循环变量
    在展示函数中扫描链表并将i++
    当i等于中位数所在节点序号时进行输出
    
    

    3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)




    4.PTA提交列表说明。

    由于没有将typedef char ElemType; 改为typedef int ElemType; 导致在最大N和最小N时答案错误

    二、截图本周题目集的PTA最后排名(3分)

    1.顺序表PTA排名

    2.链表PTA排名

    3.我的总分: 215

    三、本周学习总结(2分)

    1.谈谈你本周数据结构学习时间是如何安排,对自己安排满意么,若不满意,打算做什么改变?(1分)

    没课的时候在图书馆花点时间看数据结构书 , 还可以,比较满意

    2.谈谈你对线性表的认识?(1分)

    线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑结构简单,便于实现和操作。
    小节内容: 顺序表 :元素的个数就是顺序表的长度,查找元素直接用下标来寻找时间复杂度为O(1)
    访问节点和增加节点时间复杂度为O(1),O(n) , 元素的插入和元素的删除通过移动顺序表实现
    链表 : 删除节点需要每个节点挨个删除,非顺序储存,查找需要扫描链表,插入元素分为头插法和尾插法,头插法可以将数据逆序,元素删除遵循先接后删 ,插入遵循先连后断

    3.代码Git提交记录截图

    四、阅读代码(选做,加1分)

    To be continue ... ....

  • 相关阅读:
    start tag, end tag issues in IE7, particularly in xslt transformation
    用SandCastle为注释生成chm文档
    Firebug
    架构的重点
    Linux Shell常用技巧(十) 管道组合
    Linux JDK升级
    Linux Shell常用技巧(十二) Shell编程
    Packet Tracer 5.0实验(一) 交换机的基本配置与管理
    Linux Shell常用技巧(六) sort uniq tar split
    Linux Shell常用技巧(二) grep
  • 原文地址:https://www.cnblogs.com/FOXES/p/8646023.html
Copyright © 2011-2022 走看看