
算法
文章平均质量分 95
北冥有一鲲
四年前端开发,两年管理。主要从事 hybrid app 开发,熟悉 vue 框架、nodejs 和 php,擅长微信公众号和小程序开发。目标是全栈工程师,正朝此目标奋斗中。
展开
-
算法系列之链表
链表和数组有点类似,都是线性表的一种,但是它们又有很大的不同。数组需要一块连续的内存空间来存储,而链表恰恰相反,它并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用。原创 2021-02-09 10:01:21 · 231 阅读 · 0 评论 -
算法系列之二叉树
二叉树相关概念由于本篇博文主要介绍二叉树的面试题,所以关于其相关概念只做简单的描述。二叉树简介数据结构中有一种结构是树,不过一般我们常见的是树中的一种特殊类型——二叉树。二叉树简单来说就是每个节点最多有两个子节点。如果每个节点都有两个子节点,那么我们称这种二叉树为满二叉树。还有一种二叉树,其叶子节点都在最底下两层,最后一层叶子节点都靠左排列,并且除了最后一层,其他层的叶子节点都要达到最大,这种二叉树叫作完全二叉树。除了上面那些,这里还需要特别提到一种树,二叉搜索树。二叉搜索树要求,在树中的任意原创 2020-09-09 22:48:11 · 309 阅读 · 0 评论 -
算法系列之动态规划算法
动态规划比较适合用来求解最优问题,比如求最大值、最小值等等。它可以非常显著地降低时间复杂度,提高代码的执行效率。不过,它也是出了名的难学。它的主要学习难点跟递归类似,那就是,求解问题的过程不太符合人类常规的思维方式。对于新手来说,要想入门确实不容易。不过,等你掌握了之后,你会发现,实际上并没有想象中那么难。原创 2020-05-16 00:47:18 · 5667 阅读 · 0 评论 -
算法系列之经典排序算法
说到算法,入门级的算是排序算法了。还记得读大学时,学的第一个是冒泡排序。初次接触算法,觉得很神秘,一个冒泡竟然搞了很久。这边文章主要介绍一些经典的排序算法,由于博主现在做 web 前端方面的工作,所以编程语言就使用 JavaScript 了。不过,如果是学其他语言的人,读懂大致的思路是没问题的,完全可以仿照文章中 JavaScript 版的代码进行重写。概述排序算法是非常基础的算法之一,在...原创 2020-05-05 12:37:43 · 317 阅读 · 0 评论 -
算法系列之回溯算法
回溯法简介回溯法(Backtrack)其实是基于递归来实现的。但是它的思考逻辑很有意思,和走迷宫一样。比如我们走到一个分叉口,我们不知道哪一个路口是正确的,但是我们可以先随便选择一个路口。如果最后走不通,我们可以原地返回,在之前的分叉口重新抉择。正是因为这种回溯的思考方式,所以这种算法称之为回溯法。笼统地讲,回溯算法很多时候都应用在“搜索”这类问题上。不过这里说的搜索,并不是狭义的指我们前...原创 2020-05-03 23:34:04 · 830 阅读 · 0 评论 -
算法系列之哈希表
相信刷过leetcode的同学都对“两数之和”、“三数之和”以及“四数之和”的问题有所印象,因为力扣的第一题就是两数之和。注意:本文所有的代码都采用 JavaScript。所有题目来自 leetcode。两数之和我们先来看一看题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案...原创 2020-05-02 00:48:27 · 690 阅读 · 0 评论