ChatGPT教你用Python实现BinarySearchTree详解

前言

至今,ChatGPT 已经火了很多轮,我在第一轮的时候注册了账号,遗憾的是,没有彻头彻尾好好地体验过一次。最近这一次火爆,ChatGPT 确实出圈了,各行各业的人们都在晒,趁着周末,我也小试了一把。

这篇文会介绍我使用 ChatGPT 的过程以及使用时的一些感悟,最后浅谈下我对 ChatGPT 的一些理解,不喜勿喷哈~

我的问题是:我是一个 Java 程序员,现在想了解 Python,切入点是如何用 Python 实现 BinarySearchTree,我想在这个过程中更多的了解 Python 的语法,不注重算法实现。

下面给大家看下我问 ChatGPT 的过程。(多图预警!!!)

ChatGPT 截图

我会挑选一些有代表性的内容展示给大家,事实上我问了更多的语法细节

ChatGPT教你用Python实现BinarySearchTree详解_第1张图片

ChatGPT教你用Python实现BinarySearchTree详解_第2张图片

首先,ChatGPT 直接"意识"到我想知道 python 中的泛型要如何写,并给出了相应的解释。

然后,代码上,ChatGPT 不仅给出了 BinarySearchTree 的定义,还附加了 insert 等一些操作方法,注意,这里并没有算法的实现,是 ChatGPT 知道我问题的重点在语法,不是算法实现?(细思极恐)

最后有个小瑕疵是,Comparable 需要 import,代码中没写。

我们继续看

ChatGPT教你用Python实现BinarySearchTree详解_第3张图片

ChatGPT教你用Python实现BinarySearchTree详解_第4张图片

这里对 Optional 的上下文关联没有做好,如果还是根据 Optional[BinaryNode[AnyTyple]] 做解释,会更好。但有一说一,还是清楚的解决了我的问题。

至此,我迅速了解了 python 的 Class 如何定义,泛型如何定义,Comparable 怎么用,以及一些附加的语法(大概耗费了 1.5 小时)

然后,我开始尝试自己实现方法细节,比如 contains 方法,在这个过程中仍会遇到一些小问题

ChatGPT教你用Python实现BinarySearchTree详解_第5张图片

这里可以看到,我的问题没有主动帮忙断句,是一段代码混着我的问题一起问的(因为我不知道怎么换行,一按 enter\command + enter 就直接提问题 - -)

但是,ChatGPT 回答的情况依然令我满意,我们工作中遇到这种问题可能会卡一会,因为这个问题太具体了,现在的搜索引擎无法解决这么具体的问题,如果身边有懂 python 的人可能会瞬间帮你解答,但现在有了 ChatGPT,这种具体的问题也能被瞬间解答了,很优秀。

对 ChatGPT 的一些感悟

首先声明,我对 ChatGPT 的原理只是略知一二,技术细节还没详细调研。相信详细调研后,感悟上会少一些惊艳,毕竟我们对未知的、不了解的领域会保留敬畏之心。

下面我只谈一谈我作为一个 chatGPT 用户,使用上的体验:

1、ChatGPT 成为下一代搜索引擎,毋庸置疑

通过这次体验,一个最直接的感受是,我能直截了当地问我当下遇到问题,省去了将问题抽象成通用的问题的步骤,比如我就想知道 public class BinarySearchTree> 用 python 要怎么写

用 Google 搜索,你不可能直接在搜索框输入 将下面 java 代码用 python 实现 public class BinarySearchTree>

如果直接输入,会得到

ChatGPT教你用Python实现BinarySearchTree详解_第6张图片

因为 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 取代?

以上就是ChatGPT教你用Python实现BinarySearchTree详解的详细内容,更多关于Python实现BinarySearchTree的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(ChatGPT教你用Python实现BinarySearchTree详解)