【动画】数据结构系列
用动画来学习编程,更简单、易懂的让初学者爱上数据结构和算法。
小鹿动画学编程
公众号「小鹿动画学编程」原创作者!
展开
-
动画:这一次用动画搞懂递归!
递归这玩意儿,尤其是对于初学者,在数据结构和算法中归为“玄学”一类。咳咳,如果今天鹿哥能把这玄学的玩意儿讲明白,岂不是要上天。同样讲不明白的后果,鹿哥将会被后台的石锤大队石锤…其实不学递归也没啥,但是学到后边会发现,什么 0-1 背包问题(动态规划内容,也可以用递归解决)、深度广度优先遍历、八皇后问题,回溯算法等,反正各种内容都会涉及到递归。所以,今天放句狠话,必须搞它,搞的它明明白白的。...原创 2020-03-23 18:53:55 · 10935 阅读 · 16 评论 -
我用动画给大厂的面试官讲明白了 KMP 算法
大家好,我是一个每天在互联网都被读者催更催到爆肝,爆肾小鹿童鞋。说实话,一些数据结构和算法我这辈子都不可能用到实际当中,但个人一直觉得能把复杂的东西讲明白是一件很牛逼的事情。毕竟想牛逼也是很难的,并不是我说了算,前几天更新的的 BF 和 RK 算法,就被后台小伙伴的留言疯狂石锤,哼!你牛逼你就讲讲 KMP 算法,我要石锤。这几天吓得俺吃饭吃不消,睡觉睡不香,干啥啥不行,这无数的与 KMP...原创 2020-03-13 08:27:05 · 2419 阅读 · 6 评论 -
动画: 快速排序 | 如何求第 K 大元素?
写在前边我们有这么一个需求,老板和我们说,要求我们做这么一个员工系统,公司员工的相关信息和为公司的贡献值都会在这个系统进行记录,每到月底评功轮赏的时候,根据员工这一个月的表现进行奖罚。你可能会说,这还不好做吗?增删改查,然后直接按照贡献值从大到小排序就好了。别着急,还有一个需求就是公司每个月都会进行抽奖福利,抽奖的方式是,老板随机抽取贡献值为第 K 大的贡献值的员工送出福利一份,共选取 n ...原创 2019-12-05 08:27:59 · 3164 阅读 · 1 评论 -
动画:二叉查找树的实际应用 —— 二叉查找树(下)
写在前边上一篇文章我们讲解了二叉树的基础知识,什么是二叉树、二叉树的特点、二叉树的存储方式、二叉树的遍历等。基础归基础,理论归理论。最重要的最终还要和实践挂钩。动画:二叉树有几种存储方式?(上)今天这篇主要分享一下二叉树的一些简单应用,二叉树涉及到的很多应用也是有难度的,比如红黑树、AVL 树、B+树等,这节不会涉及到。还需要自行深入探索。本篇希望能够给你带来二叉树的应用思考。我们都知道上...原创 2019-11-19 22:26:35 · 2742 阅读 · 0 评论 -
动画:二叉树有几种存储方式?(上)
写在前边前边几篇文章的讲了数组、链表、队列等,今天和大家主要分享的是树这种数据结构。树这种数据结构不像数组、链表一样,它是一种非线性结构,学起来可能比其他数据结构比较吃力,但是它在数据结构中占有很重要的地位,也是面试中的频繁考点,尤其是二叉树,一定注重起来。由题目抛出的问题,树到底怎么存储呢?二叉树有几种存储方式呢?如果带着好奇心学习,学习更加的高效,一颗树横七竖八的,咋表示?下边小鹿带你...原创 2019-11-06 08:41:16 · 6197 阅读 · 1 评论 -
动画:二分查找(上) | 面试官问我如何在 1 亿数据中快速查找某一整数?(上)
关注公众号,小鹿动画学编程,一天一篇动画喂饱你!写在前边今天就来学习一下在一组有序数据中如何快速查找一个数。也就是我们所说的二分查找,虽然很多小伙伴对二分查找很熟悉,但是到了真正的应用问题上,还是不能更好的来把握二分的思想。要想把这部分把握好,还需要真正的体验一下二分查找的强大的效率。如题目中所述,如果你今天去面试,面试官要问你如何在十个数中查找一个整数,那么你很快就会想到从头到尾遍历就...原创 2019-11-01 09:04:22 · 3782 阅读 · 1 评论 -
动画:队列是如何处理大量任务分发的?
像线程池、异步队列、消息队列等有限的资源容器中,往往存储大量的任务事件,这些大量的任务事件需要进行有条理的进行任务分发以及各种情况处理,为了能够使得资源容器的正常运行,不得不使用一定的容器结构设计和策略,那么这些结构和策略如何实现的呢?那小鹿不买官司了,就是用我们今天即将学到的数据结构“队列”。虽然我们初学者实际中接触的少,但是它的实际用途广着呢,学好这部分是非常关键的。思维导图1、什么...原创 2019-10-26 08:30:39 · 2753 阅读 · 4 评论 -
动画:动画从零学编程之 “栈” 你掌握这些必备了吗?
作者 | 小鹿来源 | 一个不甘平凡的码农写在前边对于栈的认识,相信每个学习数据结构的小伙伴多多少少有一定的认识和了解。很多刚刚学习的小伙伴说学习数据结构在实际中没怎么见到应用,那是因为你没有去仔细的观察,而且像栈这常用到的数据结构通常会使用在实际开发中,比如:表达式的运算、花括号的匹配以及浏览器的前进后退等等很多。这些实际开发的实现如果不去研究,你永远不知道数据结构在实际中的应用,...原创 2019-10-08 10:50:24 · 3355 阅读 · 3 评论 -
动画:如何给面试官写一个满意的冒泡排序
作者 | 小鹿来源 | 一个不甘平凡的码农写在前边对于冒泡排序,很多小伙伴已经可以说很熟悉了,顺手就可以写出来,但对于一个初学者来说,小鹿想通过这篇文章,让你一次性就理解冒泡排序以及冒泡排序的优化,就不用去翻看其他文章了。记得之前一个读者和小鹿说去面试的时候,面试官让写一个冒泡排序,也写出来了,最后去没有通过面试。其实他的冒泡排序没有进行优化的,这也不是重点。在学数据结构和算法我有...原创 2019-10-02 11:27:28 · 2855 阅读 · 2 评论 -
动画:面试如何轻松手写链表?
写在前边暑假参加的第一个公司的就让我手写一个双向链表,并完成插入数据和删除数据的操作。当时我很蒙蔽,懵逼的不是思路,而是手写,虽然写出来了,但是很多边界条件和代码规范自我感觉不好,所以有了这些细心的总结。那么今天的主题就是徒手写链表,应聘者该如何下手?我们通常写链表准备应聘的时候,通常背加上理解,但是过了几天又让你写。就会陌生了,虽然有点思路。还是模模糊糊,小鹿也有这个记性的“毛病”,“有毛病...原创 2019-09-26 08:11:04 · 26549 阅读 · 45 评论