JavaScript数据结构与算法总结


JavaScript基础知识
JavaScript数据结构与算法总结一——线性结构(数组、链表、栈、队列)
JavaScript数据结构与算法总结二——非线性结构(集合、字典和散列表)
JavaScript数据结构与算法总结三——树(二叉搜索树、平衡树:AVL树&红黑树)
JavaScript数据结构与算法总结四——图(深度优先、广度优先、最短路径:Dijkstra 算法 Floyd-Warshall 算法、最小生成树:Prim 算法 Kruskal 算法)
JavaScript数据结构与算法总结五——排序和查找(冒泡排序 选择排序 插入排序 快速排序 堆排序 顺序查找 二分查找 插值查找)
用JS简单实现一个群智能算法(布谷鸟算法(CS))


前言

JavaScript可以直接写入 HTML 输出流,也可以直接使用node.js。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
    	var testArray = [77, 41, 31, 43, 11, 33, 21];
    	document.write(testArray);//写入HTML输出流
        print(testArray);//写入打印机,会直接唤起打印机,可以直接打印成纸质文稿
        console.log(testArray);//输出到控制台
    </script>
</body>
</html>

node.js控制台默认输入是字符串类型,若需要数字类型需要进行转化。

parseInt转换成数字


线性结构

数组

链表

队列


非线性结构

集合

字典和散列表

字典

散列表


二叉树

平衡树

BST 存在一个问题:取决于你添加的节点数,树的一条边可能会非常深;也就是说,树的一
条分支会有很多层,而其他的分支却只有几层,这会在需要在某条边上添加、移除和搜索某个节点时引起一些性能问题。

AVL 树是一种自平衡二叉搜索树,意思是任何一个节点左右两侧子树的高度之差最多为 1。

类型平衡度调整频率适用场景
AVL树查询多,增/删少
红黑树增/删频繁

AVL树

红黑树


## 图 图由边的集合及顶点的集合组成。

边由顶点 对 (v1,v2) 定义,v1 和 v2 分别是图中的两个顶点。顶点也有权重,也称为成本。如果一个 图的顶点对是有序的,则可以称之为有向图。在对有向图中的顶点对排序后,便可以在两 个顶点之间绘制一个箭头。有向图表明了顶点的流向。


排序

查找


动态规划

分治算法

回溯算法

贪心算法


启发式算法

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤影墨客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值