• DS博客作业05--查找


    0.PTA得分截图

    1.本周学习总结(0-4分)

    1.1 总结查找内容

    1.2.谈谈你对查找的认识及学习体会。

    2.PTA题目介绍(0--6分)

    2.1 题目1(2分)

    2.1.1 该题的设计思路

    利用 完全二叉树层序遍历在数组中是连续的,来解题。
    若结点为空,则在数组中输入-1;利用数据是否连续不为-1来判断是否位完全二叉树。
    时间复杂度:O(N)

    2.1.2 该题的伪代码

    if(T!=NULL) T入队列,T值入数组
    while(队不空)
    {
    if(队头->lchild!=NULL) 队头->lchild入队列 ,队头->lchild值入数组
    else 数组值为-1;
    if(队头->rchild!=NULL) 队头->rchild入队列 ,队头->rchild值入树组
    else 数组值为-1;
    输出队头
    队头出队
    }
    for(j<N) if(数组[j]==-1) cout<<"NO"; return;
    cout<<"YES";
    

    2.1.3 PTA提交列表


    刚开始没注意到题目要求左大右小,有点错。
    还有就是队列结点值入数组的时候,在出队的时候入的数组,就会发生-1入树组时在结点值前面。
    以至于后面再判断是否完全二叉树时出现错误。后统一改为入队时就入数组。
    还有就是再最大N的时候出现错误,题目给的是不大于20的N,可是测试点的N 似乎大于20,
    将数组界限改为100就过了。

  • 相关阅读:
    oracle11g安装客户端检查先决条件失败
    WinForm textbox 只允许输入数字
    Oracle存储过程
    Oracle游标
    Oracle之PL/SQL流程控制
    Oracle 变量
    log4net 使用
    Python Matplotlib 画图显示中文问题
    Oracle 数据迁移到 SQL Server
    C结构体【转】
  • 原文地址:https://www.cnblogs.com/you-18250630840/p/12944981.html
Copyright © 2020-2023  润新知