【JS算法】JS数据结构

JavaScript020

【JS算法】JS数据结构,第1张

数组: 是由相同类型的元素的集合所组成的数据结构,分配一块连续的内存来存储。知道第一个元素的内存地址,加上下标(偏移量)就能找到第2或N个。

数组随机访问的速度快,增加和删除则慢(因为删除index2,后面的3-n都要往前挪一位)

链表: 非连续存储的指向型存储,随机访问的速度慢(需一层层查找),增加和删除则快(不需要挪位)

树形结构、图形结构

树形结构又指向其他树点,就是图形结构

图结构,在webpack和vite中有用到,作用是,能找出是否有文件被重复加载

堆和栈

对象是数组+链表的结构

只要是树形结构,解答基本都可以用递归解决

比较相邻的元素,如果前一个比后一个大,交换之。

第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移动到最后一位。

第二趟将第二大的数移动至倒数第二位

......

因此需要n-1趟;

选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列

链表:存贮有序元素的集合,

但是不同于数组,每个元素是一个存贮元素本身的节点和指向下一个元素引用组成

要想访问链表中间的元素,需要从起点开始遍历找到所需元素

类似对象,以key,value存贮值

特点:每个节点最多有两个子树的树结构

《数据结构与算法JavaScript描述》([美] Michael McMillan)电子书网盘下载免费在线阅读

资源链接:

链接: https://pan.baidu.com/s/1SKHIQQUQI4TeMcxKY9AiaQ

提取码: 35v4

书名:数据结构与算法JavaScript描述

作者:[美] Michael McMillan

译者:王群锋

豆瓣评分:6.6

出版社:人民邮电出版社

出版年份:2014-8

页数:216

内容简介:

通过本书的学习,读者将能自如地选择最合适的数据结构与算法,并在JavaScript开发中懂得权衡使用。此外,本书也概述了与数据结构与算法相关的JavaScript特性。

本书主要内容如下。

数组和列表:最常用的数据结构。

栈和队列:与列表类似但更复杂的数据结构。

链表:如何通过它们克服数组的不足。

字典:将数据以键-值对的形式存储。

散列:适用于快速查找和检索。

集合:适用于存储只出现一次的元素。

二叉树:以层级的形式存储数据。

图和图算法:网络建模的理想选择。

算法:包括排序或搜索数据的算法。

高级算法:动态规划和贪心算法。

作者简介:

作者简介:

Michael McMillan

作为大学老师和程序员,曾编写过多部受到好评的数据结构与算法图书,包括Data Structures and Algorithms Using C#、Data Structures and Algorithms Using Visual Basic.NET,以及其他计算机教程,如Object-Oriented Programming with Visual Basic.NET、C++ Programming: An Introduction、Java Programming Tutorial、Perl from the Ground Up等。Michael现在阿肯色州北小石城普瓦斯基技术学院当讲师,教授计算机信息系统。他还是北小石城阿肯色大学的兼职讲师,教授信息科学。在做讲师之前,他曾是阿肯色儿童医院的一名程序设计师/分析师,负责统计计算和数据分析。

译者简介:

王群锋

1981年生于陕西省富平县桥西大队三里村,2004年毕业于西安电子科技大学。毕业后当了一名程序员,现居西安,在IBM西安研发中心从事下一代统计预测软件的开发工作。

杜欢

淘宝网高级技术专家,2012年加入淘宝,曾就职于雅虎台湾及CISCO。对前端架构、前后端协作有自己的见解,专注于Web产品设计、可用性实施,热爱标准化。