本篇内容介绍了“ChatGPT怎么用Python实现BinarySearchTree”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
ChatGPT 截图
我会挑选一些有代表性的内容展示给大家,事实上我问了更多的语法细节
首先,ChatGPT 直接"意识"到我想知道 python 中的泛型要如何写,并给出了相应的解释。
然后,代码上,ChatGPT 不仅给出了 BinarySearchTree 的定义,还附加了 insert 等一些操作方法,注意,这里并没有算法的实现,是 ChatGPT 知道我问题的重点在语法,不是算法实现?(细思极恐)
最后有个小瑕疵是,Comparable 需要 import,代码中没写。
我们继续看
这里对 Optional 的上下文关联没有做好,如果还是根据 Optional[BinaryNode[AnyTyple]] 做解释,会更好。但有一说一,还是清楚的解决了我的问题。
至此,我迅速了解了 python 的 Class 如何定义,泛型如何定义,Comparable 怎么用,以及一些附加的语法(大概耗费了 1.5 小时)
然后,我开始尝试自己实现方法细节,比如 contains 方法,在这个过程中仍会遇到一些小问题
这里可以看到,我的问题没有主动帮忙断句,是一段代码混着我的问题一起问的(因为我不知道怎么换行,一按 entercommand + enter 就直接提问题 - -)
但是,ChatGPT 回答的情况依然令我满意,我们工作中遇到这种问题可能会卡一会,因为这个问题太具体了,现在的搜索引擎无法解决这么具体的问题,如果身边有懂 python 的人可能会瞬间帮你解答,但现在有了 ChatGPT,这种具体的问题也能被瞬间解答了,很优秀。
1、ChatGPT 成为下一代搜索引擎,毋庸置疑
通过这次体验,一个最直接的感受是,我能直截了当地问我当下遇到问题,省去了将问题抽象成通用的问题的步骤,比如我就想知道 public class BinarySearchTree<AnyType extends Comparable<? super AnyType>> 用 python 要怎么写
用 Google 搜索,你不可能直接在搜索框输入 将下面 java 代码用 python 实现 public class BinarySearchTree<AnyType extends Comparable<? super AnyType>>
如果直接输入,会得到
因为 Google 无法理解你真正的诉求是什么,只会根据问题中的关键字检索出你需要的信息,所以更多的结果是 Java 实现的 BinarySearchTree
假如我就是要用 Google 解决这个问题,我可能需要问的是:
Python 中如何使用泛型
Python 中的 Comparable 具体如何使用?
根据检索的知识碎片自己加以理解并组合起来
尝试写出 Python 代码
解决各种 IDE 中提示的编译问题,遗憾的是,每遇到一个问题,我又要重复上面的过程
但对 ChatGPT 来说,他似乎更懂你想要问什么,省去了你在用 Google 搜索的 12345 步,大大提升了解决问题的效率。
2、上下文关联能力强
顺着 ChatGPT 更懂你 的话题说,我们遇到的问题通常不是一次性就能找到答案的,更多是一个问题链,需要一环扣一环的解决。ChatGPT 做到了在一个 Chat 中,让你的所有问题关联起来,好像他帮你抽象出了话题的主题是什么,让你不需要在问每个问题的时候都把背景交代的非常清楚,这也是一种提效。
3、未来的可能性
首先,ChatGPT 的回答并不是 100% 正确的,仍需要人去甄别是否是自己想要的答案。但我相信随着用户越来越多,ChatGPT 会被进一步训练,继续进化,正确率会持续上升。
下一代搜索引擎就不多说了,微软已经开始推出 new bing 了。
另外想说的是,ChatGPT 能赋能语音交互,进一步提效,由于 ChatGPT 还不涉及图片视频领域,并且目前文字转语音以及语音转文字的技术已经成熟,如果将 ChatGPT 做成语音机器人,我觉得成为初代钢铁侠中的贾维斯不是问题。
再有就是,openAI 的部分模型是开放的,垂直业务完全可以利用模型的能力,解决当下的重复劳动问题,例如客服。
整体来说,ChatGPT 的出现让我们获取知识的效率进一步提升,后面对很多行业都会有冲击,反正我是被这东西搞的瑟瑟发抖了。那么,大家觉得什么样的程序员不会被 chatGPT 取代?