
数据结构与算法
无论你具体是哪个行业的,【数据结构与算法】是每个程序员都必学的一个知识,这也是一个优秀的工程师思考如何解决某个业务逻辑时用到的知识,同时也是进入大场必备的技能。
「零一」
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】三个经典案例带你了解动态规划
我们在面对很多问题时,会通过递归去解决问题,虽然递归的代码写起来非常的简洁,但效率不高,无法高效地将递归的代码转化成机器代码。递归的思想是通过从问题的顶部开始,不断解决其中的小问题,使得问题得以解决 ;而我们本文要讲的动态规划的思想正好和递归的思想相反,其主要思想是先从一个个小问题开始解决,直到所有小问题都解决了,整个问题就得以解答。原创 2020-10-15 16:26:03 · 18388 阅读 · 43 评论 -
【数据结构与算法】高级排序(希尔排序、归并排序、快速排序)完整思路,并用代码封装排序函数
本篇文章讲解三个高级排序算法,分别为希尔排序、归并排序、快速排序。虽然它们的思想很复杂,但真的运用得非常得巧妙,我会用丰富的例子以及动图来让大家轻松地理解并掌握。原创 2020-10-08 11:55:56 · 50111 阅读 · 102 评论 -
【数据结构与算法】专栏系列文章目录
本系列文章是对绝大部分【数据结构与算法】的超详细讲解以及封装我是Lpyexplore,一个因Python爬虫而进入前端的探索者本篇博客是用于存放【数据结构与算法】专栏的文章目录的,大家可以在这看到文章的顺序,并点击进行跳转阅读。同时也建议大家按顺序阅读,因为我在写这个专栏的时候也是按照由浅入深的顺序写的,希望我每篇文章里详细生动的讲解能让大家收获更多注:所有的数据结构与算法的封装都是用JavaScript写的,如果不懂该语言的小伙伴可以只看文章中的讲解,其与语言无关,主要讲的是思想目录为什.原创 2020-10-08 08:54:04 · 7916 阅读 · 6 评论 -
【数据结构与算法】简单排序(冒泡排序、选择排序、插入排序)完整思路,并用代码封装排序函数
之前的文章,我已经把前端需要了解的数据结构都给说了一边,并且我们也都对其进行了封装。现在我们要开始对排序算法部分进行讲解,排序算法顾名思义,就是对一堆杂乱无章的数据按照一定的规则将它们有序地排列在一起。在讲解排序算法时,大致分成两大类,如下图本文原创 2020-09-24 14:51:31 · 25949 阅读 · 84 评论 -
【数据结构与算法】详解什么是图结构,并用代码手动实现一个图结构
图结构 非常得类似我们之前讲到过的树结构,但前者没有很多的从属关系,更多的是各个数据之间的相关联系。在数学的概念中,后者是前者的一种,不过在数据结构中我们还是认为两者有所区别,尽管如此,我们在学习图结构的时候仍可以稍微借鉴一下树结构的思想。原创 2020-09-09 11:01:58 · 41006 阅读 · 105 评论 -
【数据结构与算法】详解什么是树结构,并用代码手动实现一个二叉查找树
本篇文章将开始讲解树结构。其实树结构是平日里我们常见的一种数据结构,例如家族族谱、公司管理层级结构图等,这样的数据结构的存在一定有一定的道理。因此,在计算机领域中,树结构也是会被广泛用到的,例如数据库系统中就有用到。那么本文就从零开始学习一下树结构,并且也会封装一个二叉查找树,本文 3万+ 的详细教程,希望大家耐心观看,我是以一个纯小白的角度来写的这篇文章,相信大家认真看一定都能看懂的原创 2020-09-02 10:18:34 · 21998 阅读 · 112 评论 -
【数据结构与算法】详解什么是哈希表,并用代码手动实现一个哈希表
数组也是有一定的缺点的,如果我们不知道某个元素的下标值,而只是知道该元素在数组中,这时我们想要获取该元素就只能对数组进行线性查找,即从头开始遍历,这样的效率是非常低的所以,为了解决上述数组的不足之处,引入了哈希表的概念。原创 2020-08-28 14:13:43 · 40476 阅读 · 78 评论 -
【数据结构与算法】详解什么是集合,并用代码手动实现一个集合结构
集合这个概念应该大家在学习数学的时候都听过并且有学习过,它也是一种数据结构,我们还是需要用代码来实现集合的很多方法。学习过ES6语法的小伙伴应该知道,ES6新增了一种 Set 数据结构,这就是集合,尽管官方已经向我们提供了这种数据结构,但是为了学习它的思想和实现过程,我们还是来亲自学习实现一下吧,顺便学习一下 Set 数据结构的底层是如何实现的集合就是一种包含着不同元素的数据结构,即在集合结构里,每一个元素都是独一无二的,互不相同,同时所有数据都是无序的。如图中的每个圆圈就代表一个集合,集合中存储着相原创 2020-09-06 14:43:05 · 16159 阅读 · 94 评论 -
【数据结构与算法】详解什么是双向链表,并用代码手动实现一个双向链表
上一篇文章讲解了链表的相关知识,并用代码实现了一个链表结构。那么本文将介绍一下另一种特殊的链表结构,叫做 双向链表。 顾名思义,普通的链表都是从 head 开始往后遍历结构内的元素,那么双向链表就是既可以从头开始遍历,又可以从结构的末尾开始遍历。上一篇文章的跳转链接——本文就来详细讲解一下双向链表的概念以及如何实现一个双向链表。公众号:Lpyexplore的编程小屋关注我,每天更新,带你在python爬虫的过程中学习前端,还有更多电子书和面试题等你来拿数据结构——双向链表一、什么是双向链表二原创 2020-08-02 10:30:43 · 22393 阅读 · 76 评论 -
【数据结构与算法】详解什么是链表,并用代码手动实现一个链表结构
本文将来讲解一下一种常见的线性数据结构—链表,因为链表和数组一样都是一种线性的数据结构,但是它俩的实现原理是完全不同的,所以在讲解链表之前,我们来回顾一下 数组 结构。原创 2020-07-29 10:23:04 · 14703 阅读 · 80 评论 -
【数据结构与算法】详解什么是优先级队列,并用代码手动实现一个优先级队列
上一篇文章讲解了队列的相关知识,同时用代码实现了一个队列结构。那么本文将介绍一下另一种特殊的队列结构,叫做 优先级队列。上一篇文章的跳转链接——公众号:Lpyexplore的编程小屋关注我,每天更新,带你在python爬虫的过程中学习前端,还有更多电子书和面试题等你来拿数据结构——优先级队列一、什么是优先级队列一、什么是优先级队列在了解了什么是队列以后,我们再来了解优先级队列,顾名思义,优先级队列就是在队列的基础上给每个元素加上了先后顺序,我们仍然拿排队买票的例子来讲解。...原创 2020-07-26 15:55:15 · 18593 阅读 · 81 评论 -
【数据结构与算法】详解什么是队列,并用代码手动实现一个队列结构
队列结构也是平时非常常见的一种受限的线性数据结构。它跟栈结构一样都是受限的数据结构,区别就是队列结构是遵循着先进先出的原则,本文将对此进行详细的讲解。先点赞,再看博客,顺手可以点个关注。微信公众号搜索【Lpyexplore的编程小屋】,关注我,带你在python爬虫的过程中学习前端回复 “领取前端电子书”,领取前端相关的电子版书籍回复 “前端常考面试题”,领取前端面试题以及相应答案数据结构——队列一、什么是队列二、队列结构的方法三、用代码实现一个队列结构(1)创建一个构造函数(2)实现enq原创 2020-07-24 10:41:09 · 10327 阅读 · 64 评论 -
【数据结构与算法】详解什么是栈,并用代码手动实现一个栈结构
栈结构是一种非常常见的数据结构,并且在很多场景下也被用到。其实栈结构跟数组结构很像,只是在数组的基础上,对栈结构做了一些限制,本文我们将对其进行详细的介绍。先点赞,再看博客,顺手可以点个关注。微信公众号搜索【Lpyexplore的编程小屋】,关注我,带你在python爬虫的过程中学习前端回复 “领取前端电子书”,领取前端相关的电子版书籍回复 “前端常考面试题”,领取前端面试题以及相应答案数据结构——栈一、什么是栈二、栈结构的方法三、用代码实现一个栈结构(1)创建一个构造函数(2)实现push原创 2020-07-22 17:39:42 · 11256 阅读 · 87 评论 -
点进来看看,为什么要学习【数据结构与算法】? 该如何学习?
【数据结构与算法】应该是大学计算机专业必修的一门课,为什么这门课会被列入到必修课的行列当中呢?因为对于每一个程序员来说,在以后的工作中不免要面对一些复杂的业务逻辑,同时要写对应的代码来实现这个复杂的业务。当然了,有很多种方式都可以实现同一个业务逻辑,但每种方式的代码运行效率可能不一样,我们接下来通过一个简单的例子感受一下。例子: 假如你们班级里有一万个人,并且每个人的姓名和身份信息都存储在一个数据库中。有一天,老师突然要求你用代码实现这样一个逻辑——去这个数据库中寻找 李四 的身份信息,并输出。在面对这原创 2020-07-13 19:29:29 · 11983 阅读 · 56 评论