资料分享:送你一本《数据结构与算法JavaScript描述》电子书!
发布日期:2021-06-30 22:56:49 浏览次数:2 分类:技术文章

本文共 2079 字,大约阅读时间需要 6 分钟。

数据结构 是掌握计算机编程必须具备的技能。通常情况下,我想掌握一门编程语言所用的方法就是利用这门语言把数据结构中线性表、栈、队列、字符串、动态数字、整数集合、树、图、搜索、排序等涉及的算法全部写一遍。写完之后,基本上就把这门语言搞定了。

今天给大家分享的就是我从网上找到的利用 JavaScript 语言来实现各种数据结构的算法,希望这本电子书对学习 JavaScript 想从事前端工作的读者有益。


目录

推荐序

前言

第1章 JavaScript的编程环境和模型

  • 1.1 JavaScript环境
  • 1.2 JavaScript编程实践
  • 声明和初始化变量
  • JavaScript中的算术运算和数学库函数
  • 判断结构
  • 循环结构
  • 函数
  • 变量作用域
  • 递归
  • 1.3 对象和面向对象编程
  • 1.4 小结

第2章 数组

  • 2.1 JavaScript中对数组的定义
  • 2.2 使用数组
  • 创建数组
  • 读写数组
  • 由字符串生成数组
  • 对数组的整体性操作
  • 2.3 存取函数
  • 查找元素
  • 数组的字符串表示
  • 由已有数组创建新数组
  • 2.4 可变函数
  • 为数组添加元素
  • 从数组中删除元素
  • 从数组中间位置添加和删除元素
  • 为数组排序
  • 2.5 迭代器方法
  • 不生成新数组的迭代器方法
  • 生成新数组的迭代器方法
  • 2.6 二维和多维数组
  • 创建二维数组
  • 处理二维数组的元素
  • 参差不齐的数组
  • 2.7 对象数组
  • 2.8 对象中的数组
  • 2.9 练习

第3章 列表

  • 3.1 列表的抽象数据类型定义
  • 3.2 实现列表类
  • append:给列表添加元素
  • remove:从列表中删除元素
  • find:在列表中查找某一元素
  • length:列表中有多少个元素
  • toString:显示列表中的元素
  • insert:向列表中插入一个元素
  • clear:清空列表中所有的元素
  • contains:判断给定值是否在列表中
  • 遍历列表
  • 3.3 使用迭代器访问列表
  • 3.4 一个基于列表的应用
  • 读取文本文件
  • 使用列表管理影碟租赁
  • 3.5 练习

第4章 栈

  • 4.1 对栈的操作
  • 4.2 栈的实现
  • 4.3 使用Stack类
  • 数制间的相互转换
  • 回文
  • 递归演示
  • 4.4 练习

第5章 队列

  • 5.1 对队列的操作
  • 5.2 一个用数组实现的队列
  • 5.3 使用队列:方块舞的舞伴分配问题
  • 5.4 使用队列对数据进行排序
  • 5.5 优先队列
  • 5.6 练习

第6章 链表

  • 6.1 数组的缺点
  • 6.2 定义链表
  • 6.3 设计一个基于对象的链表
  • Node类
  • LinkedList类
  • 插入新节点
  • 从链表中删除一个节点
  • 6.4 双向链表
  • 6.5 循环链表
  • 6.6 链表的其他方法
  • 6.7 练习

第7章 字典

  • 7.1 Dictionary类
  • 7.2 Dictionary类的辅助方法
  • 7.3 为Dictionary类添加排序功能
  • 7.4 练习

第8章 散列

  • 8.1 散列概览
  • 8.2 HashTable类
  • 选择一个散列函数
  • 一个更好的散列函数
  • 散列化整型键
  • 对散列表排序、从散列表中取值
  • 8.3 碰撞处理
  • 开链法
  • 线性探测法
  • 8.4 练习

第9章 集合

  • 9.1 集合的定义、操作和属性
  • 集合的定义
  • 对集合的操作
  • 9.2 Set类的实现
  • 9.3 更多集合操作
  • 9.4 练习

第10章 二叉树和二叉查找树

  • 10.1 树的定义
  • 10.2 二叉树和二叉查找树
  • 实现二叉查找树
  • 遍历二叉查找树
  • 10.3 在二叉查找树上进行查找
  • 查找最小值和最大值
  • 查找给定值
  • 10.4 从二叉查找树上删除节点
  • 10.5 计数
  • 10.6 练习

第11章 图和图算法

  • 11.1 图的定义
  • 11.2 用图对现实中的系统建模
  • 11.3 图类
  • 表示顶点
  • 表示边
  • 构建图
  • 11.4 搜索图
  • 深度优先搜索
  • 广度优先搜索
  • 11.5 查找最短路径
  • 广度优先搜索对应的最短路径
  • 确定路径
  • 11.6 拓扑排序
  • 拓扑排序算法
  • 实现拓扑排序算法
  • 11.7 练习

第12章 排序算法

  • 12.1 数组测试平台
  • 12.2 基本排序算法
  • 冒泡排序
  • 选择排序
  • 插入排序
  • 基本排序算法的计时比较
  • 12.3 高级排序算法
  • 希尔排序
  • 归并排序
  • 快速排序
  • 12.4 练习

第13章 检索算法

  • 13.1 顺序查找
  • 查找最小值和最大值
  • 使用自组织数据
  • 13.2 二分查找算法
  • 13.3 查找文本数据
  • 13.4 练习

第14章 高级算法

  • 14.1 动态规划
  • 动态规划实例:计算斐波那契数列
  • 寻找最长公共子串
  • 背包问题:递归解决方案
  • 背包问题:动态规划方案
  • 14.2 贪心算法
  • 第一个贪心算法案例:找零问题
  • 背包问题的贪心算法解决方案
  • 14.3 练习

封面介绍


图书推荐:

  • 作 者:唐发根 著
  • 出版社:北京航空航天大学出版社

  • 作 者:[美] 史蒂芬·普拉达 著 姜佑 译
  • 出版社:人民邮电出版社

  • 作 者:[美] Stephen Prata 著 张海龙 译
  • 出版社:人民邮电出版社

  • 作 者:明日科技 著
  • 出版社:清华大学出版社

  • 作 者:何海涛 著
  • 出版社:电子工业出版社

相关图文:


下载《数据结构与算法JavaScript描述》

关注公众号,后台回复

20190410

转载地址:https://lsgogroup.blog.csdn.net/article/details/89155364 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:如何利用 C# 爬取「猫眼电影:国内票房榜」及对应影片信息!
下一篇:技术图文:如何利用 C# 爬取 ONE 的交易数据?

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月29日 13时27分37秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章