首页 > 其他分享 >2023-2024第一学期第四周助教总结

2023-2024第一学期第四周助教总结

时间:2023-10-29 22:58:30浏览次数:139  
标签:Bt qu void printf 学期 2024 2023 NULL Bintree

第四周助教总结

2023.10.29


本次总结所属课程 2023-2024第一学期计算机基础与程序设计
本次作业要求 作业要求
作业提交情况 提交情况

一、作业提交情况


  • 本次作业提交情况较好,大多数同学都自觉按时提交了作业,仅有部分同学没有提交作业,希望能尽快改正。
  • 本次作业中存在应付作业的情况,仅仅抄写了教材的内容,没有充分的自我思考的过程,没有对于上周学习的反思过程。这样的总结是没有任何意义的,希望各位同学们不要应付作业,既然老师给了大家这样一个任务就请认真完成,总会有用的。

当然,如果这种情况是由于事务过多而导致没有时间完成作业的话,我对此表示非常惋惜。在学校咱们的主业是学习不是做学生工作,请大家分清主次。如果感觉现在事情很多的话,就请尽快推掉一些,不要因此耽误了学业。

  • 我个人认为一个好的总结应该有对于上周内容的自我思考以及反思,大体上有以下几个方面:

如果有较多时间的话,强烈建议对于教材上的内容深入学习一下。比如说学到编码的时候可以查一查都有什么编码,学到TCP/Ip协议的时候可以查一下他们到底是社么东西,学到排序算法的时候可以尝试一下使用C语言实现他们(这个我觉得普通的同学可能确实自己想不出来,但是大家可以上网查一下其他人写的代码)。这样大家会越来越牛的!


二、作业中的优点



三、日常发现的问题


1.部分同学仍旧没有养成自己解决问题的习惯,在写代码的时候总是一出了不能短时间内解决的问题就立刻跑来问学长,我猜测肯定也有问班里能力强的同学的。对于这个问题吧,我们并不是不愿回答,而是有的时候写代码直接问,不管问谁谁都抓瞎。你自己写的代码,别人怎么知道你是怎么想的……看明白的功夫都够再写一遍了。而且有的时候就一张图片,真的什么都看不出来……
好了,吐槽到此结束,这些都不是关键问题,关键问题在于如果总是一出问题就问别人的话最后永远都不会有成长的,有的时候我们出的问题可能是一个小小的格式问题,这样你锻炼了查错能力,有的时候你的问题是出在对于某个关键问题的理解上了,这样如果你查出了错,那就是大大的提升,不可多得的好处,所以大家一点要尽量自己解决问题。

ps:往往那些总问别人自己代码哪里错的同学最后写代码能力都一般……

点击查看代码
/*作者:***
时间2023.5.6.  19:36
功能:实现二叉树的创建、前中后层序遍历、测量深度*/
#include<stdio.h>
#include<stdlib.h>
typedef struct Binnode
{
    char info;
    struct Binnode *left;
    struct Binnode *right;
}*Bintree;
typedef struct Queue
{
    Bintree node;
    struct Queue *next;
}*Qu;//队列
typedef struct Quhead
{
    Qu head;
    Qu tail;
}*Quhd;//队头
Bintree CreateBintree();//根据前序遍历的结果创建二叉树
void PreOrder(Bintree Bt);//前序遍历
void InOrder(Bintree Bt);//中序遍历
void PostOrder(Bintree Bt);//后序遍历
void LevelOrder(Bintree Bt);//层序遍历
void Level(struct Quhead *qhead,Bintree Bt);

void EnQueue(Quhd qu,Bintree node);//入队
Bintree DeQueue(Quhd qu);//出队

int BintreeDepth(Bintree Bt);//测量深度
void Depth(Bintree Bt,int h,int *depth);//另一种测量深度的方法
void Destroy(Bintree Bt);//释放函数

int main()
{
    Bintree tree;//这是二叉树
    int or;//判断是否继续进行
    int h = 1;//用来存放当前所在层次
    int depth = 0;//用来存放当前已知的最大层次
    int result = -1;
    do
    {
        printf("Please input your bin tree in preorder:\n");
        tree = CreateBintree();
        printf("Preorder result:");
        PreOrder(tree);
        printf("\n");

        printf("Inorder result:");
        InOrder(tree);
        printf("\n");

        printf("Postorder result:");
        PostOrder(tree);
        printf("\n");

        printf("Levelorder result:");
        LevelOrder(tree);
        printf("\n");
        result = BintreeDepth(tree);
        printf("The depth of the tree is %d\n",result);
        Depth(tree,h,&depth);
        printf("In another manner ,the depth is %d\n",depth);
        printf("Do you want to go on?\n");
        scanf("%d",&or);
        Destroy(tree);
        if(or)
        {
            getchar();
        }
    }while(or>0);

    return 0;
}
Bintree CreateBintree()
{
    char c;
    Bintree t = NULL;
    c = getchar();
    if(c == ' ')
        return NULL;
    else
    {
        t = (Bintree)malloc(sizeof(struct Binnode));
        if(t == NULL)
        {
            printf("ERROR!");
            exit(0);
        }
        t->info = c;
        t->left = CreateBintree();
        t->right = CreateBintree();
    }
    return t;
}
void PreOrder(Bintree Bt)
{
    if(!Bt)
    {
        return;
    }
    else
    {
        printf("%c",Bt->info);
        PreOrder(Bt->left);
        PreOrder(Bt->right);
    }
}
void InOrder(Bintree Bt)
{
    if(!Bt)
    {
        return;
    }
    else
    {
        InOrder(Bt->left);
        printf("%c",Bt->info);
        InOrder(Bt->right);
    }
}
void PostOrder(Bintree Bt)
{
    if(!Bt)
    {
        return;
    }
    else
    {
        PostOrder(Bt->left);
        PostOrder(Bt->right);
        printf("%c",Bt->info);
    }
}
int BintreeDepth(Bintree Bt)//测量深度
{
    int hL,hR;
    if(!Bt)
        return 0;
    else
    {
        hL = BintreeDepth(Bt->left);
        hR = BintreeDepth(Bt->right);
    }
    if(hL>hR)
    {
        return hL+1;
    }
    else
    {
        return hR+1;
    }
}
void Depth(Bintree Bt,int h,int *depth)
{
    if(!Bt)
    {
        return;
    }
    else
    {
        if(h>*depth)
            *depth = h;
        Depth(Bt->left,h+1,depth);
        Depth(Bt->right,h+1,depth);
    }
}
void LevelOrder(Bintree Bt)//层序遍历
{
    Quhd qhead = (Quhd)malloc(sizeof(struct Quhead));
    if(qhead == NULL)
    {
        printf("ERROR!");
        exit(0);
    }
    qhead->head = NULL;
    qhead->tail = NULL;
    Level(qhead,Bt);
    free(qhead);
}
void Level(Quhd qhead,Bintree Bt)
{
    Bintree t;
    EnQueue(qhead,Bt);
    while(qhead->head != NULL||qhead->tail != NULL)
    {
        t = DeQueue(qhead);
        printf("%c",t->info);
        if(t->left)
            EnQueue(qhead,t->left);
        if(t->right)
            EnQueue(qhead,t->right);
    }
}
void Destroy(Bintree Bt)
{
    if(Bt->left)
    {
        Destroy(Bt->left);
    }
    else if(Bt->right)
    {
        Destroy(Bt->right);
    }
    free(Bt);
    return;
}
void EnQueue(Quhd qu,Bintree node)//入队
{
    Qu t = NULL;
    t = (Qu)malloc(sizeof(struct Queue));
    if(t == NULL)
    {
        printf("ERROR!");
        exit(0);
    }
    if(qu->head == NULL&&qu->tail == NULL)
    {
        t->node = node;
        qu->head = qu->tail = t;
        t->next = NULL;
    }
    else
    {
        t->node = node;
        t->next = qu->tail->next;
        qu->tail->next = t;
        qu->tail = t;
    }

}
Bintree DeQueue(Quhd qu)//出队
{
    if(qu->head == NULL&&qu->tail == NULL)
        return NULL;
    Qu t = NULL;
    Bintree k = NULL;
    if(qu->head == qu->tail)
    {
        t = qu->head;
        k = t->node;
        free(t);
        qu->head = qu->tail = NULL;
        return k;
    }
    else
    {
        t = qu->head;
        qu->head = qu->head->next;
        k = t->node;
        free(t);
        return k;
    }


}

这是我们之后实际要写的代码,大概300多行。那时候300多行可没人会帮你一行一行看了帮你找错了。所以大家赶快锻炼自己解决问题的能力吧,自己成为大佬才是最好的方法!

四、学习建议

1.合理分配好学习时间、工作时间、休息时间,不要卡着ddl做事;
2.建议大家提前往下学习C语言,语言的学习应该是最基本的事情,这样你会比其他人会的更多;
3.老师的要求大家要尽量达到,这样才能达到最大的学习效果,不要因为太难就随便应付过去了;


结尾


希望大家都能好好学习计算机基础与程序设计这门课程,从中发现计算机世界的美丽,希望我写的东西能真正地帮到大家。

标签:Bt,qu,void,printf,学期,2024,2023,NULL,Bintree
From: https://www.cnblogs.com/xiaoyaotonhxue/p/17796721.html

相关文章

  • 学年(2023-2024-1)学号(20231311)《计算机基础与程序设计》第5周学习总结
    2023-2024-120231311《计算机基础与程序设计》第5周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第五周作业这个作业的目标下载Pep/9虚拟机,学习机器语言与汇编语言,算法与伪代码等......
  • 2023-2024-1 20231325 《计算机基础与程序设计》第5周学习总结
    目录*作业信息*教材学习内容总结1.《计算机科学概论》第6章2.《c语言程序设计》第4章*基于AI的学习*学习心得*学习进度条作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业的要求在哪里1.学习《计算机科学概论》第6章并完成云......
  • 2023-2024-1 20231407陈原《计算机科学与概论》第五周学习总结
    这个是哪里的作业?<2023-2024-1计算机基础与程序设计第五周作业>作业的要求在哪里?https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05作业的目的是什么?Pep/9虚拟机机器语言与汇编语言算法与伪代码测试:黑盒,白盒作业正文  https://www.cnblogs.com/CCCY......
  • 2023-2024-1 20231418 《计算机基础与程序设计》第五周周总结
     作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业的要求2022-2023-1计算机基础与程序设计第五周作业这个作业的目标学习《计算机科学概论(第7版)》第6章、《C语言程序设计》第4章作业正文lhttps://www.cnblogs.com/20231418txm/p/177966......
  • 2023-2024-1 20231412《计算机基础与程序设计》第五周学习总结
    2023-2024-120231412《计算机基础与程序设计》第五周学习总结作业要求这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03这个作业的目标自学计算机科学概论......
  • # 2023-2024-1 20231322 《计算机基础与程序设计》第五周学习总结
    作业信息|2023-2024-1-计算机基础与程序设计|(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP))||2023-2024-1计算机基础与程序设计第五周作业||这个作业的目标|总结第五周学习过程中的疑问及收获||作业正文|(https://www.cnblogs.com/cjl03/p/17796254.html)|教材学习......
  • 11月第一周学习计划(2023/10/29 )
    科目大类学习科目 言语标题填入  态度理解  道理解释  词句理解  提炼关键词 逻辑推理逻辑论证之归因论证 申论分析理解题目 每项需要完成事件1.看完相关网课,每一个部分整理笔记并且形成博......
  • 20231028
    23/10/28NOIP模拟赛总结时间安排7:40-8:00看题8:00-8:30看到T1题面的第一眼:寄。看到提示,发现做法已经给出来了,直接写过。8:30-8:50开T2,没啥思路,先打了30的暴力。8:50-9:30T3写了个\(O(n^2)\)的做法,当时以为是\(O(2^n)\),后来发现能拿40,但是调了很长时间。9:30-10:15......
  • 20231029
    20231029NOIP#27总结时间安排7:35~8:05看题,\(A\)一时不会,\(B\)想到了构造方式不确定对,\(C,D\)一档暴力。8:05~8:35写\(B\)构造,并且这个构造是对的。8:35~9:00写\(C\)的爆搜9:00~9:30写\(D\)的暴力9:30~10:00想到了\(A\)正解并写完。10:00~10:20写\(C\)......
  • 2023-2024-1 20231323《计算机基础与程序设计》第五周学习总结
    2023-2024-120231323《计算机基础与程序设计》第五周学习总结作业信息作业所属课程2023-2024-1-计算机基础与程序设计作业要求在这里作业目标自学教材《计算机科学概论》第6章,《C语言程序设计》第4章并完成云班课测试作业正文在这里教材学习内容总结《......