野生前端的数据结构练习和算法基础

本专题是《数据结构和算法Javascript描述》一书的学习笔记,记录了知识要点,难点分析和书中大部分习题的示例代码。

习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。本篇主要是4个基础习题及4个课后习题。
队列
队列
网上的相关教程非常多,基础知识自行搜索即可。习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。
链表
链表
网上的相关教程非常多,基础知识自行搜索即可。习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。
字典
字典
网上的相关教程非常多,基础知识自行搜索即可。习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。
散列
散列
网上的相关教程非常多,基础知识自行搜索即可。习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。
集合
集合
集合Set是一种不包含不同元素的数据结构,主要特性包括无序性和单一性,即集合中的成员是无序的,同时也是不重复的。
二叉树
二叉树
网上的相关教程非常多,基础知识自行搜索即可。习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。
图是由边的集合和点的集合组成的。如果图的边有方向(或者说图中的顶点对是有序的)则成为有向图,如果边没有方向则称为无向图。
冒泡排序,选择排序,插入排序
冒泡排序,选择排序,插入排序
bubble sort的是最基本的算法,被誉为永远会被考从来不被用的算法,基本原则是大数右移,每轮遍历后最右侧的数是最大的。
希尔排序,归并排序,快速排序
希尔排序,归并排序,快速排序
大部分场景中,间隔是可以提前定义好的,也可以动态生成。在较大的数据集上,希尔排序对于插排的优化效果是非常明显的。
动态规划算法
动态规划算法
递归是从顶部开始分解,通过解决掉所有分解出的问题来解决整个问题,而动态规划是从问题底部开始。
贪心算法
贪心算法
贪心算法求解背包问题实际上很像人工求解,如果你是一个大盗,自己带着背包在宝库挑东西,总不能开始动态规划或手动递归吧