ChatGPT教你用Python实现BinarySearchTree详解

目录
  • 前言
    • ChatGPT 截图
  • 对 ChatGPT 的一些感悟
    • 1、ChatGPT 成为下一代搜索引擎,毋庸置疑
    • 2、上下文关联能力强
    • 3、未来的可能性

前言

至今,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 取代?

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

(0)

相关推荐

  • Python实现发送带有pdf附件的电子邮件

    目录 前言 一.如何使用Python发送电子邮件 二.使用步骤 总结 前言 使用Python发邮件,是个简单的话题,可是如何可以优雅的轻松的群发邮件,并附加PDF附件,是很多小伙伴的日常工作,却也是很多小白需要费力才能解决的问题.为了方便理解和使用,本文对邮件发送进行了类的包装.将连接服务器.生成邮件.发送邮件分开执行.可以解决工作中遇到的绝大部分问题. 话不多说,上代码. 提示:以下是本篇文章正文内容,邮箱配置参数需要自行修改方可使用 一.如何使用Python发送电子邮件 使用Python发送

  • python在windows调用svn-pysvn的实现

    作为EBS开发人员,开发工具用的多,部署代码类型多,管理程序麻烦,操作繁琐,一直是我最讨厌的事情.部署一次程序要使用好几个工具,改来改去,上传下载,实在难受. 扣了一下python,打算做一款集成工具,把代码管理.程序部署一步搞下来.中间有几个技术难点需要打通: 1. ERP调用linux的ssh执行shell获得源代码,下载到本机 2. 将源代码结构化存储并放到svn下,上传svn同步版本 3. 调用Jenkins执行部署,将源代码部署到正式环境 4. 该操作步骤做记录留底 现在测试的就是py

  • Python创建一个自定义视频播放器的实现

    这个例子使用VLC作为视频播放器,并且使用tkinter创建了一个简单的GUI界面,其中包括一个Canvas用于播放视频,几个按钮用于控制视频播放,以及一个滑动条用于控制音量.你可以根据自己的需求修改GUI界面的布局和功能. 1.安装vlc的64位版本. https://vlc.letterboxdelivery.org/vlc/3.0.18/win64/vlc-3.0.18-win64.exe 2.安装python的vlc模块. pip install vlc 3.编写如下代码,包含了播放,暂

  • python常用时间库time、datetime与时间格式之间的转换教程

    目录 一,python中储存时间的三种格式 1,时间元组(结构体时间) 2,时间戳 3,格式化时间 二.time库 1,time.time() 2,time.localtime([ sec ]) 3,time gmtime([ sec ]) 4,time.strftime(format[, t]) 5,time.strptime(string[, format]) 6,time mktime(t) 7,time.sleep(nums) 8,timeit.Timer.timeit([number]

  • python批量翻译excel表格中的英文

    目录 需求背景 主要设计 分析 具体实现 表格操作 请求百度翻译api 多线程 控制台显示进度 完整源码 需求背景 女朋友的论文需要爬取YouTube视频热评,但爬下来的都是外文. 主要设计 读取一个表格文件,获取需要翻译的文本 使用百度翻译 API 进行翻译,获取翻译结果 将翻译结果保存到原表格中,然后提取需要的列组成一个新的 DataFrame 处理多个表格文件,将它们的翻译结果分别保存 使用线程池加速翻译过程,可以同时翻译多个表格 显示进度条 分析 目标文件为xlsx格式,可以借助pand

  • ChatGPT教你用Python实现BinarySearchTree详解

    目录 前言 ChatGPT 截图 对 ChatGPT 的一些感悟 1.ChatGPT 成为下一代搜索引擎,毋庸置疑 2.上下文关联能力强 3.未来的可能性 前言 至今,ChatGPT 已经火了很多轮,我在第一轮的时候注册了账号,遗憾的是,没有彻头彻尾好好地体验过一次.最近这一次火爆,ChatGPT 确实出圈了,各行各业的人们都在晒,趁着周末,我也小试了一把. 这篇文会介绍我使用 ChatGPT 的过程以及使用时的一些感悟,最后浅谈下我对 ChatGPT 的一些理解,不喜勿喷哈~ 我的问题是:我是

  • Python网络编程详解

    1.服务器就是一系列硬件或软件,为一个或多个客户端(服务的用户)提供所需的"服务".它存在唯一目的就是等待客户端的请求,并响应它们(提供服务),然后等待更多请求. 2.客户端/服务器架构既可以应用于计算机硬件,也可以应用于计算机软件. 3.在服务器响应客户端之前,首先会创建一个通信节点,它能够使服务器监听请求. 一.套接字:通信端点 1.套接字 套接字是计算机网络数据结构,它体现了上节中所描述的"通信端点"的概念.在任何类型的通信开始之前,网络应用程序必须创建套接字

  • Python 多线程实例详解

    Python 多线程实例详解 多线程通常是新开一个后台线程去处理比较耗时的操作,Python做后台线程处理也是很简单的,今天从官方文档中找到了一个Demo. 实例代码: import threading, zipfile class AsyncZip(threading.Thread): def __init__(self, infile, outfile): threading.Thread.__init__(self) self.infile = infile self.outfile =

  • Docker 打包python的命令详解

    最近用Python写了一段爬虫程序,为了隔离其运行环境,易于分发,把项目打包成Docker镜像 Dockerfile FROM python:2.7.12-alpine ADD ./src /job CMD ["python", "/job/main.py"] 构建命令 $ docker build -t job . 运行 $ docker run -d --name job job 比较简单 以上所述是小编给大家介绍的Docker 打包python的命令详解,希望

  • windows上安装Anaconda和python的教程详解

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因此,我们这里使用Python这个脚本语言来进行数字图像处理. 要使用Python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是Linux系统,安装都是非常简单的. 要使用python进行各种开发和科学计算,还需要安装对应的包.这和matlab非常相似,只是matla

  • 基于python爬虫数据处理(详解)

    一.首先理解下面几个函数 设置变量 length()函数 char_length() replace() 函数 max() 函数 1.1.设置变量 set @变量名=值 set @address='中国-山东省-聊城市-莘县'; select @address 1.2 .length()函数 char_length()函数区别 select length('a') ,char_length('a') ,length('中') ,char_length('中') 1.3. replace() 函数

  • Python 操作MySQL详解及实例

    Python 操作MySQL详解及实例 使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和SQLAlchemy. Python-MySQL资格最老,核心由C语言打造,接口精炼,性能最棒,缺点是环境依赖较多,安装复杂,近两年已停止更新,只支持Python2,不支持Python3. PyMySQL为替代Python-MySQL而生,纯python打造,接口与Python-MySQL兼容,安装方便,支持Python3. SQLA

  • python 全文检索引擎详解

    python 全文检索引擎详解 最近一直在探索着如何用Python实现像百度那样的关键词检索功能.说起关键词检索,我们会不由自主地联想到正则表达式.正则表达式是所有检索的基础,python中有个re类,是专门用于正则匹配.然而,光光是正则表达式是不能很好实现检索功能的. python有一个whoosh包,是专门用于全文搜索引擎. whoosh在国内使用的比较少,而它的性能还没有sphinx/coreseek成熟,不过不同于前者,这是一个纯python库,对python的爱好者更为方便使用.具体的

  • python自定义异常实例详解

    python自定义异常实例详解 本文通过两种方法对Python 自定义异常进行讲解,第一种:创建一个新的exception类来拥有自己的异常,第二种:raise 唯一的一个参数指定了要被抛出的异常 1.可以通过创建一个新的exception类来拥有自己的异常.异常应该继承自 Exception 类,或者直接继承,或者间接继承. >>>raiseNameError('HiThere') Traceback(most recent call last): File"<pysh

  • Python操作MongoDB详解及实例

    Python操作MongoDB详解及实例 由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装pymongo. 1.安装命令 pip install pymongo 2.查询命令: import pymongo # 创建连接 client = pymongo.MongoClient(host="10.0.2.38", port=27017) # 连接probeb库 db = c

随机推荐