javascript描述数据结构与算法(改自imooc)

javascript描述数据结构与算法

起因

作为一个前端程序员常用的数据结构和算法是要懂得怎么去实现的。一直以来想学算法,买了书却一直看不下去。直到前一个月面试挂在基础算法的问题,就决定每天学一点算法。正好看到imooc的算法实战教程,主要是我看算法书很懵逼才找了视频来学习,每3,4天一章,一边看视频一边过一遍书,就这样啃完了。
如果你跟我一样看书看不下去,强烈推荐你看视频。视频里是用c++实现的,但是讲师在课程里用各种动画很容易就看懂了。
另外,基础算法能引申出来很多高级算法,至于你还想再深入学习,就得靠自己了。

js实现算法目录

运行环境:我是用node来运行的,你也可以直接用浏览器。

算法学习目录
排序基础(3种)
选择排序-Selection Sort js源码
使用模板(泛型)编写算法 js源码
随机生成算法测试用例 js源码
测试算法的性能 js源码
插入排序法-Insertion Sort js源码
插入排序法的改进 js源码
冒泡排序法及其优化-Bubble Sort js源码
高级排序算法(3种)
希尔排序法-Shell Sort js源码
归并排序法的实现与优化 js源码
自底向上的归并排序算法 js源码
快速排序法 - Quick Sort js源码
随机化快速排序法 js源码
双路快速排序法 js源码
三路快速排序法 js源码
归并排序和快速排序的衍生问题 js源码
最大堆 js源码
堆排序 js源码
索引堆-优先队列 js源码
最小堆 js源码
二分查找法 js源码
BST的实现 js源码
并查集
Quick Find js源码
Quick Union js源码
基于size的优化 js源码
基于rank的优化 js源码
Path Compression js源码
图的表示(较完整) js源码
最小生成树
有权图的表示 js源码
Lazy Prim js源码
Prim算法 js源码
Kruskal算法 js源码
最小生成树
Dijkstra算法的实现 js源码

大家在实现这些算法的时候目录不用分得这么细,我是看完了整套视频才知道的。

算法可能实现的有些生硬或不优雅,然后我就结合<<数据结构与算法JavaScript>>一书给出另外一些实现方法。小弟渣渣水平,还望大佬莫喷呀。

imooc算法视频地址
讲师给的c++,java版本
改写后的javascript版本

本文转载于:猿2048➼https://www.mk2048.com/blog/blog.php?id=ha01bic010j

posted @ 2020-01-19 18:18  10年码农  阅读(149)  评论(0编辑  收藏  举报