type
status
date
slug
category
tags
icon
password
summary
现在是凌晨1点15分,此时我正在床上写这篇日记。
本来呢,我洗完澡想去完成一下老师布置的那个求是否是平衡二叉树的题目的。当我打开电脑时,好家伙,qq图标在闪烁,打开一看,一位美女同学的求助,说是让我帮看看有什么错误。
我一看,这我能不帮吗,马上答应了!其实我担任着她的学习组长,也有责任帮,呜呜呜……但是,我还是乐意的,因为平时根本就没有人问我问题,人家问我不是看得起我嘛!!!
咳咳咳,偏了偏了,言归正传!
我看了看她的代码,好家伙,typedef construct 这不是C语言的内容嘛,我怎么记得呀?!这不在我预料之中。再一看,建二叉排序树用的是循环!?好家伙,再一次超出我的意料,此时,我已经赌定我改不了这个代码了。但是!!!!!既然答应了人家,怎么能不做到呢?
所以,我这里改改,那里改改,唉?有输出了!一看,咋只有深度输出了?中序遍历不见有。我先看了一遍中序遍历的代码,一眼看过去,好像没啥问题。然后,我就又开始了一轮漫长的调试。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc5cd33c1-8470-47c2-a2ef-540b8c3f8f6d%2F6deecd45fb31955.png?table=block&id=2def3ce6-8401-4fef-89d9-37ae5b2c94d6)
终于。我发现了猫腻,果然!错误还是在中序遍历那。我就说嘛,深度都求出来了,说明树已经建好了的,那问题不出在中序遍历出在哪里呢!?(为自己的无能找借口中)
好家伙,你定义的Node,你函数变量那写node!好,终于找到错误了!构建,运行!结果——没有输出!再看,好家伙!!!血压一下子就上来了,你定义了个data,用的也是它,你排序就用value了,这有输出才怪咧!!
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F460080ce-14f1-4f76-a954-3b5c7f0033b5%2F1622217346394.jpeg?table=block&id=31f504fc-8765-4d99-ab1f-e0b3241b0446)
当然,我还是得慢慢和她说的,毕竟人家是女生,毕竟我也不是大佬(流下了没出息的泪水)。
最终,耗时2小时的我终于把她代码的bug找出来了!这当然是高兴的,然而,我发现在其实这bug就贼他妈的简单,没错,就是上面提到的那两个由于粗心而造成的错误,我却用了两个小时才调出来……菜到无话可说。
但是呀,还是有收获的。因为她建树用得不是递归,而我恰恰又想学一下不用递归实现的方法,但是自己又想不出来,这不?她给我送来了!
怎么说呢,自己还是太菜了,还有太多东西不明不白了,要努力复习才是!
附上这位美女同学的代码
改后的代码
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F26587af9-c19e-473c-b1d2-9716e6f623c0%2FIMG_20201022_185120.jpg?table=block&id=47e08b68-5c2c-414c-8fc0-4b893abe1ff2)
现在是凌晨1点50分,该是睡觉的时候了,世界晚安!
- 作者:ycloong
- 链接:https://lyc2425.eu.org/article/f0a13527-d17b-4a7d-b6ce-877476e74864
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。