数据结构
基于 JavaScript,展开对数据结构知识的讲解。
fewuliu
决定一个人成功与否的因素不是你现在站立的高度,而是你的触底反弹力。
展开
-
数据结构——排序
引言对于排序的算法,其实之前也看过,但是讲真用的比较少在平常开发中。所以,每次回忆起,需要看其他书籍或文章感觉也是一件麻烦的事。还是自己记一下吧~数组排序的方法:冒泡排序选择排序插入排序归并排序快速排序计数排序桶排序基数排序比较常见的还是冒泡排序、选择排序、快速排序,所以这次只总结这三种排序方法的原理和使用。冒泡排序在排序算法中,最简单就是冒泡排序,但是其性能也是最差...原创 2019-12-22 16:07:48 · 189 阅读 · 0 评论 -
数据结构——树
引言对于树这个数据结构,可能有些同学会觉得很鸡肋,压根都没有用过在开发中。但是,事实可能会与你想的相反,树这一数据结构常常用于一些大型的框架的构建,例如前端的框架 Vue.js ,在它的底层中就把 template 标签中的内容转化成 AST(抽象语法树),然后再通过将 AST 转化成 render 函数,从而用于浏览器渲染页面。基本概念根节点:把位于树顶部的节点称为根节点。节点:树中的每...原创 2019-12-23 22:54:07 · 553 阅读 · 0 评论 -
数据结构——斐波那契数列的那点事
引言0、1、1、2、3、5、8、13、21说来惭愧,第一次认识斐波那契数列是在一次面试题中,当时稍微观察了一下,就果断地写出了迭代版本的斐波那契数列…当时,还觉得这个算法题的数学模型也太简单了吧,殊不知有时候问题并不是你解决了就可以,毫无疑问对于斐波那契数列有多种解法,对于迭代版本的斐波那契数列来说它可能是多个版本中效率最高,但是我们并不能被迭代版本所限制住我们用编程解决问题的思维。迭代...原创 2020-02-15 17:05:48 · 254 阅读 · 0 评论 -
数据结构——背包问题
引言算法的经典问题之一背包问题,背包问题是动态规划(运筹学)的一个典型的例子,它的问题描述即规定背包所能容纳的最大重量,然后此时有一批物品对应不同的质量和价值,那么如何放置物品进入背包使得背包中的价值最大。通常情况下,背包问题会分为两种情形:物品可以切开放置到背包中,即物品的重量和价值可以按分数的形式放置物品只能以整个的形式放置前一种情况,只能用贪心算法解决去解决问题。后一种情况,则...原创 2020-02-23 12:12:17 · 2556 阅读 · 0 评论