ChatGPT教你用Python实现BinarySearchTree详解
作者:ZzT 发布时间:2023-11-18 15:26:18
前言
至今,ChatGPT 已经火了很多轮,我在第一轮的时候注册了账号,遗憾的是,没有彻头彻尾好好地体验过一次。最近这一次火爆,ChatGPT 确实出圈了,各行各业的人们都在晒,趁着周末,我也小试了一把。
这篇文会介绍我使用 ChatGPT 的过程以及使用时的一些感悟,最后浅谈下我对 ChatGPT 的一些理解,不喜勿喷哈~
我的问题是:我是一个 Java 程序员,现在想了解 Python,切入点是如何用 Python 实现 BinarySearchTree,我想在这个过程中更多的了解 Python 的语法,不注重算法实现。
下面给大家看下我问 ChatGPT 的过程。(多图预警!!!)
ChatGPT 截图
我会挑选一些有代表性的内容展示给大家,事实上我问了更多的语法细节
首先,ChatGPT 直接"意识"到我想知道 python 中的泛型要如何写,并给出了相应的解释。
然后,代码上,ChatGPT 不仅给出了 BinarySearchTree 的定义,还附加了 insert 等一些操作方法,注意,这里并没有算法的实现,是 ChatGPT 知道我问题的重点在语法,不是算法实现?(细思极恐)
最后有个小瑕疵是,Comparable 需要 import,代码中没写。
我们继续看
这里对 Optional 的上下文关联没有做好,如果还是根据 Optional[BinaryNode[AnyTyple]] 做解释,会更好。但有一说一,还是清楚的解决了我的问题。
至此,我迅速了解了 python 的 Class 如何定义,泛型如何定义,Comparable 怎么用,以及一些附加的语法(大概耗费了 1.5 小时)
然后,我开始尝试自己实现方法细节,比如 contains 方法,在这个过程中仍会遇到一些小问题
这里可以看到,我的问题没有主动帮忙断句,是一段代码混着我的问题一起问的(因为我不知道怎么换行,一按 enter\command + enter 就直接提问题 - -)
但是,ChatGPT 回答的情况依然令我满意,我们工作中遇到这种问题可能会卡一会,因为这个问题太具体了,现在的搜索引擎无法解决这么具体的问题,如果身边有懂 python 的人可能会瞬间帮你解答,但现在有了 ChatGPT,这种具体的问题也能被瞬间解答了,很优秀。
对 ChatGPT 的一些感悟
首先声明,我对 ChatGPT 的原理只是略知一二,技术细节还没详细调研。相信详细调研后,感悟上会少一些惊艳,毕竟我们对未知的、不了解的领域会保留敬畏之心。
下面我只谈一谈我作为一个 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 取代?
来源:https://juejin.cn/post/7201696941331922999
猜你喜欢
- 前言Logistic回归涉及到高等数学,线性代数,概率论,优化问题。本文尽量以最简单易懂的叙述方式,以少讲公式原理,多讲形象化案例为原则,给
- 关于导航栏的设计有很多特效,但你浏览过这样一种导航栏特效吗?当鼠标移到导航栏目上时,导航栏目会被一层“
- 前言本文主要给大家介绍了关于python指定时间调用函数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:在前面的一
- 技术背景GPU的加速技术在深度学习、量子计算领域都已经被广泛的应用。其适用的计算模型是小内存的密集型计算场景,如果计算的模型内存较大,则需要
- 为网页设置防火墙的主要目的是根据网页内容对不同来访者提供不同的服务,利用Java Script或VB Script,我们很容易做到这一点。但
- 本文实例讲述了Python中unittest的用法,分享给大家供大家参考。具体用法分析如下:1. unittest module包含了编写运
- 我们主要讲解一下利用Python实现感知机算法。算法一首选,我们利用Python,按照上一节介绍的感知机算法基本思想,实现感知算法的原始形式
- Python计算的位数在电脑上做了一个实验,看看python能计算到多少位,一下是结果。x = math.sqrt((3))print (&
- 本文实例讲述了php+jQuery实现的 * 导航栏下拉菜单显示效果。分享给大家供大家参考,具体如下:首先看看效果图:1.数据配置文件 db.
- 我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下:一、脚本YUM源安装:1.
- 代码:hello.py#!/usr/bin/python# coding: utf-8# hello.pydef application(e
- 1.ROOT_URLCONF = '总路由所在路径(比如untitled.urls)'<===默认情况是这样根路由的路
- 这篇文章主要介绍了python检测服务器端口代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 有时候希望可以用js另开新窗口,但用window.open方法打开窗口总是被浏览器阻止,可以用下面的方法打开新窗口而不会遭到拦截1.新添加一
- 导语每日游戏更新系列——今天带大家来看看扫雷小游戏!它是许多人接触到的第一款游戏,大概也是广大办公族和无网学生无聊时消遣的最佳游戏。在那些还
- 题目大意问 太阳神有一牛群,由白、黑、花、棕四种颜色的公、母牛组成,其间关系如下,求每种牛的个数。公牛中,白牛多于棕牛,二者之差为
- 数据采集XPath,XML路径语言的简称。XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某
- Python偏函数Python偏函数和我们之前所学习的函数传参中的缺省参数有些类似,但是在实际应用中还是有所区别的,下面通过模拟一个场景一步
- JavaScript提交至servlet 5种方式:/**第一种提交方式 * */function submitForm1(){window
- 前言如果你搜一圈 "Fabric "关键字,你会发现 90% 的资料都是过时的,因为现在 Fabric 支持 Pytho