随笔分类 -  数据结构

摘要:前端学习 数据结构和算法 快速入门 前言 前端为什么要学习数据结构和算法 为了高效的解决常见问题 对于计算机科学,算法是最基础的概念 好的IT公司,算法是面试中的重头戏 数据结构和算法之间地关系 比如需要解决一个问题,可能得首先选一种数据结构来存储数据,而算法就是基于对数据结构地操作,所以解决一个问 阅读全文
posted @ 2021-12-25 10:16 彭加李 阅读(174) 评论(0) 推荐(1)
摘要:其他章节请看: 前端学习 数据结构与算法 快速入门 系列 排序和搜索算法 本篇,我们将一起学习最常用的搜索和排序算法,如冒泡排序、选择排序、插入排序、归并排序、快速排序,以及二分搜索、插值搜索。 同时我们得理解,首先得排好序,才能更好的搜索需要的信息。 著名算法的动画演示 https://visua 阅读全文
posted @ 2021-12-19 22:54 彭加李 阅读(408) 评论(0) 推荐(0)
摘要:其他章节请看: 前端学习 数据结构与算法 快速入门 系列 递归 递归的概念 递归是一种解决问题的方法,它从解决问题的各个小部分开始,直到解决最初的大问题。 递归通常涉及调用函数本身,直接调用自身,亦或者间接调用自身,都是递归函数。就像这样: // 直接调用自身 function fn1(){ fn1 阅读全文
posted @ 2021-11-23 15:35 彭加李 阅读(861) 评论(0) 推荐(1)
摘要:其他章节请看: 前端学习 数据结构与算法 快速入门 系列 集合、字典和散列表 集合 集合:由一组无序且唯一的项组成。 Tip:集合 是数学中的概念,但应用在计算机科学的数据结构中。 创建集合类 通常集合有如下方法: add(element): 给集合添加新元素 delete(element) 或 r 阅读全文
posted @ 2021-11-23 10:07 彭加李 阅读(176) 评论(0) 推荐(0)
摘要:其他章节请看: 前端学习 数据结构与算法 快速入门 系列 链表 链表数据结构 前面我们已经学习了数组数据结构,但是从数组头部或中间插入元素,或者移除元素的成本比较高,因为需要移动元素。 就像这样: // 从头部插入元素 Array.prototype.insertFirst = function ( 阅读全文
posted @ 2021-09-22 16:41 彭加李 阅读(266) 评论(0) 推荐(0)
摘要:其他章节请看: 前端学习 数据结构与算法 快速入门 系列 队列和双端队列 前面我们已经学习了栈数据结构。队列和栈非常类似,栈的原则是先进后出,而队列则是先进先出。同时,我们要学习双端队列,它是一种允许我们同时从前端和后端添加元素和移除元素的特殊队列。 队列数据结构 队列遵循先进先出(FIFO,也称为 阅读全文
posted @ 2021-08-09 21:06 彭加李 阅读(327) 评论(0) 推荐(0)
摘要:其他章节请看: 前端学习 数据结构与算法 快速入门 系列 栈 前面,我们学习了如何创建和使用计算机科学中最常用的数据结构——数组。 我们知道可以在数组的任意位置添加或删除元素,但有时我们还需要一种能在添加和删除元素时有更多控制的数据结构。有两种类似数组的数据结构在添加和删除时有更多控制,它们就是栈和 阅读全文
posted @ 2021-08-02 15:05 彭加李 阅读(526) 评论(0) 推荐(0)
摘要:其他章节请看: 前端学习 数据结构与算法 快速入门 系列 数组数据结构 数组是最简单的数据结构。 几乎所有编程语言都原始支持数组。 数组存储一系列同一种数据类型的值。虽然 javascript 中的数组能保存不同类型的值,但我们还是遵循最佳实践,因为大多数语言都没这个能力。 注:本篇文章不会介绍如何 阅读全文
posted @ 2021-07-28 16:21 彭加李 阅读(389) 评论(0) 推荐(1)