刷题全家桶全面更新!

技术专家labuladong分享了算法可视化编辑器的新进展,包括与网站、Chrome插件、VSCode插件和JetBrains插件的集成,以及@visualizechoose/unchoose注释的引入,以帮助读者更好地理解递归过程。
摘要由CSDN通过智能技术生成

学算法认准 labuladong

点击卡片可搜索文章👇

在线网站 labuladong.online

56dd09f64381a51be0f6bc47159cd7a6.png

快过年了,咱不讲太硬核的东西了,就给大家简单汇报一下近期我给刷题全家桶做的更新。

上篇文章有很多读者问算法可视化是否会开源,我有这个打算,不过得重构一下,把代码写的好看一点,尽量再把 Python 语言支持上,然后再考虑开源供大家学习参考。

本文主要介绍两个重要更新,第一个是网站和插件全线集成可视化编辑器,第二个是编辑器支持@visualize choose/unchoose注释更清晰地帮助读者理解递归过程。

全面集成可视化编辑器

上篇文章发布了网页版本的可视化编辑器,地址:

https://labuladong.online/algo-visualize/

但这样有两个问题:

1、目前网站只支持 JavaScript 语言,而部分读者对 JavaScript 不太熟悉。

2、大家刷题的时候一般是使用我的 Chrome 插件vscode 插件 或者 jetbrains 插件,如果对某个题目的解法不理解,还需要复制代码到网页上去修改和运行,这样有些不方便。

所以我做了如下事情来尝试解决这些问题

1、Python 版本的编辑器研发已经提上日程,过年假期看看能否搞定。

2、我专门写了一个 JS 极简教程,保你 5 分钟上手:

https://labuladong.online/algo/intro/js/

大家可能也有体会,对于算法来说,语言就只是个工具,难点在于算法的思想。其实你只要了解 JS 的基本语法和常用数据结构,就可以上手使用可视化编辑器了。

3、重写了算法可视化面板的使用教程,使其更精简,可操作性更强,用可交互的方式带大家了解面板的使用方法,链接如下:

https://labuladong.online/algo/intro/visualize/

4、我将可视化编辑器全面集成到了我的算法网站和所有配套插件中,你随时可以修改我的示例代码并执行,验证你的奇思妙想,下面简单展示一下。

首先是网站的集成,所有可视化面板上都会出现一个「编辑」按钮,点击后即可编辑示例代码,修改完成后点击「运行」按钮即可将修改后的代码进行可视化:

d824114a15b196e73131253d0d16118b.png

d10610aefc6b17e49810a4417791bfea.png

Chrome 插件(版本 >= V4.4.0)是类似的,可视化面板中也添加了「编辑」按钮,你可以直接修改示例代码并执行:

86dbdabb7c20ef638365efb449418cf3.png

vscode 插件(版本 >= V1.5.1)同理:

ac4c3591cf457d87cd8be9cecc8b1505.png

jetbrains 插件(版本 >= V1.8.1)同理:

028ed0504fc43a106662b50b665af585.png

choose/unchoose 注释

之前我介绍过可视化面板的@visualize status注释,将递归函数抽象成递归树,每个节点代表一次递归调用,节点的值就是递归的「状态」。

而本次支持的@visualize choose/unchoose注释更进一步,可以把每次递归所做的「选择」显示在递归树的树枝上。树枝上显示的内容可以进行自定义,进一步方便大家理解。

详细的使用方法和交互式教程可以在网站上查看:

https://labuladong.online/algo/intro/visualize/

我这里就简单展示几个截图,比如我编了一道简单的算法题,即让你生成长度为3的所有二进制字符串,直接看我写的代码及可视化效果吧:

309547da6e77bac4d1db11ba91a8169a.png

这里我在@visualize choose注释中写了更详细的注解,当鼠标移动到递归树节点上,就会显示路径上所做的选择,是不是就把每一步递归所做的选择清晰地展示出来了?这段回溯代码是不是就很容易看懂了?

就介绍到这里吧,各位可以亲自去体验体验,更多的玩法,有待大家发掘~

一些计划

在可视化面板的教程中,我尝试使用了交互式提问的方式教大家使用:

2680091231d088e43cc9a8f38ae7aefb.png

没想到这种学习方式得到了很多读者的好评,得益于可视化面板功能的不断完善,我计划优化网站/课程中的所有教程内容,让可视化面板更好地融合到教程之中,进一步提高大家的学习效率和对算法的理解深度。

就这样吧,最后祝大家新年快乐,新的一年勇猛精进,奥利给!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值