美文网首页
前端-算法1:栈、队列、链表

前端-算法1:栈、队列、链表

作者: 阿秃 | 来源:发表于2022-05-01 20:14 被阅读0次

一个先进后出的数据结构
JS中没有栈,用Array实现栈的功能
进栈: push 出栈:pop
栈的应用场景:

  1. 十进制转二进制
  2. 判断字符串的括号是否有效

习题:

队列

一个先进后出的数据结构
同样JS中没有队列,用Array实现队列
进队: push 出队:shift
应用场景

  1. JS异步中的任务队列
  2. 计算最近请求
    习题:
    LeetCode:933. 最近的请求次数

链表

多个元素组成的列表
元素存储不连续,用next指针连在一起


E56FD664-5C81-42BF-A280-336ED351BE8A.png

数组VS链表

  • 数组: 增删非首元素时往往需要移动元素
  • 链表: 增删非首元素,不需要移动元素,只需要更改next的指向即可
    JS中的链表
const a = {val : 'a'}
const b = {val : 'b'}
const c = {val : 'c'}
a.next = b;
b.next = c;
c.next = d;

链表的遍历

let p = a;
while (a) {
    p = p.next;
}

链表插入

const e = {val : 'e'};
c.next = e;
e.next = d;

链表的删除

c.next = c.next.next

习题:

相关文章

  • 前端-算法1:栈、队列、链表

    栈 一个先进后出的数据结构JS中没有栈,用Array实现栈的功能进栈: push 出栈:pop栈的应用场景: 十进...

  • 数据结构与算法之数组与链表

    线性表包括数组,链表(单链表,双向链表,循环链表,双向循环链表,静态链表),栈(顺序栈,链式栈),队列(普通队列,...

  • 数据结构与算法之栈与队列

    线性表包括数组,链表(单链表,双向链表,循环链表,双向循环链表,静态链表),栈(顺序栈,链式栈),队列(普通队列,...

  • 常见的数据结构

    常见的数据结构有: 数组 链表单链表、双向链表、循环链表、双向循环链表、静态链表 栈顺序栈、链式栈 队列普通队列、...

  • 数据结构与算法相关

    第二章 数据结构与算法相关 1.常用的数据结构有哪些? 数组、栈、队列、链表(单链表、双向链表、循环链表)、树、散...

  • 基础算法学习与实践

    数组&链表 1. 快慢指针的方式实现判断链表是否有环 栈和队列 1. 栈实现队列(负负得正) ...

  • 数据结构与算法目录

    操作系统目录 哈希树遍历链表数组排序堆与栈队列高级算法

  • 数据结构与算法系列-目录

    数据结构和算法目录表 线性结构 1.数组、单链表和双链表 2.Linux内核中双向链表的经典实现 栈 队列 树形结...

  • 算法-栈和队列算法总结

    栈和队列算法总结 1 模拟 1.1 使用栈实现队列 1.2 使用队列实现栈 2 栈的应用 2.1 栈操作 2.2 ...

  • 算法学习笔记-基础开篇

    算法定义 基础问题 三种基础的抽象数据类型:背包、队列、栈 用数组、变长数组、链表实现背包、队列、栈的api。 数...

网友评论

      本文标题:前端-算法1:栈、队列、链表

      本文链接:https://www.haomeiwen.com/subject/zevpyrtx.html