动画学 leetcode 算法,全免费!做了一款 iOSApp 算法宝,欢迎大家试用!

查看 828|回复 83
作者:linsen80586   
初来乍到,很喜欢这里的分享氛围,观摩了很多大佬的作品,也分享下自己刚开发的一款 App:算法宝。
在算法宝 App 里一共制作了 70 个 leetcode 算法动画。目前所有算法动画0 元秒杀,无广告
AppStore 链接:https://apps.apple.com/cn/app/id1624248084


为什么会做一款算法动画图解 App
和很多程序员一样,每次换工作前都要准备大量时间刷算法。很菜,刷题过程中都要先看题解。在网上也看了很多大佬的题解,特别喜欢看有动图或者示意图的算法解析,比看文字快。在这过程中也发现了几个问题,比如:动图是没有交互的,不能暂停;数据是死的不能换;手机上学习不太方便等。
一开始看到过一些不错的动画,几次都有很大的冲动想在 App 中用原生代码实现,这次终于下了决心,一口气做了 70 个动画。
我理解这款 App 的定位是一个工具,可以帮助我们快速理解算法思路和代码,帮助记忆,提高学习效率。但在这里不能提交,不能执行代码,代码还是要在电脑上敲才更有感觉。
为什么没有按照 leetcode 编号顺序排列
目前给算法题做了分类,分为三大块:
  • 链表,字符串,数组,二叉树;
  • 回溯,贪心,动态规划,分治;
  • 排序单独做分类。

    每个分类下,按难度分为简单,中等和困难。
    先把数据结构和算法分开归类,按知识点学习,比如可以集中时间学习二叉树结构或者动态规划算法,这样集中饱和训练有助于提高学习效率。数据结构在前,算法在后,也是按我们学习理论知识的顺序安排的。
    算法方面,目前安排了回溯,贪心,动态规划,分治四种。
    个人多年前学习数据结构和算法最早接触的算法就是各种排序,当时觉得排序太难了,印象非常深刻,所以为初学者单独做了一个排序分类。
    动画和代码如何结合等交互问题的思考
  • 自己学习算法过程中经常理解了思路,但是代码却看不懂,而且很多文字讲解中的代码没有注释,看到这种就头很大。所以,思考 App 交互的时候特别设计了代码高亮功能,这意味着每一行的代码会跟随动画进度高亮。这样动画在执行,代码在高亮,看着也很酷。
  • 动画虽然容易理解,但还是需要有一些简短的讲解,所以在动画下方设计了“字幕”功能。每次执行到对应步骤,对应的讲解就会展示。
  • 动画的播放和重置,每道算法页面都有播放功能,那测试用例如何准备呢?简化测试用例概念,设计了“重置”按钮,也就是说测试用例是随机的,当你想换一套数据,点一下重置就可以了。

    上传了 youtube 的几个算法视频贴在下面,请大家多指教
    归并排序

    两数之和

    买卖股票的最佳时机 II

    目前 iPad 适配正在开发中,界面结构做了调整,放出来给大家预览下,欢迎提意见哈



    算法, 动画, 代码, 排序

  • hackpro   
    目前 iPad 适配正在开发中,界面结构做了调整,放出来给大家预览下,欢迎提意见哈



    linsen80586
    OP
      
    非常好
    好奇这种动画有什么办法批量生成吗
    eggt   
    @hackpro 感谢夸奖,说到动画,一开始确实想过一些通用方案或者简便的方式,都放弃了,为了追求极致的体验,最后还是选择 apple 原生的 core animation 来实现。考虑到学习过程中不想让动画过于酷炫造成干扰,所以动画效果做的尽量克制,不过动画确实还有很多可改进的需要反复打磨。
    jorneyr   
    赞一个,想问下这个动画是纯自己设计的吗?
    linsen80586
    OP
      
    已白嫖。
    garibellee   
    @eggt 视觉上参考了一些算法书,尽量和大家的认知一致。动画基本都是自己想象。
    OliverDD   
    希望能坚持学下来
    lockheart   
    非常感谢😁
    chasel0720   
    感谢开发者
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部