不错的可视化算法示例

来源:互联网 发布:excel调查问卷数据录入 编辑:程序博客网 时间:2024/06/09 15:44

不错的可视化算法示例

在逛IT论坛时,有发现一些介绍算法的可视化示例站点,觉的真心不错,不光是排序,包括图数,甚至有的关于GIS分析的,所以,也save一下,难免以后会用到,多多学习,多多分享。

先介绍一个比较全面的可视化算法站点,这里包括算法的简要思想逻辑,虽然不是纯C代码,但一样有用。

https://visualgo.net/

这个算法站点包含诸多内容,诸多的变体,还是很值得学习的。
这里写图片描述
其中包括:

  • Sorting 排序算法。有很多方式枚举)
  • Bitmask 位掩码。学习网络的话,可以看看。
  • Linked List 链表。包括增删改等等。
  • Hash Table 哈希表。觉得快速查找存储会有帮助。
  • Binary Heap 二叉堆。同样为了遍历快速的一种方式。
  • Binary Search Tree 二叉搜索树。这个我学过。
  • Graph Structures 图结构。
  • Union-Find DS 并查集。
  • Segment Tree 线段树。
  • Fenwick Tree 树状数组。
  • Recursion Tree/DAG 递归树…。
  • Graph Traversal 图的遍历
  • Min Spanning Tree 最小生成树
  • SS Shortest Paths 最短路径
  • Network Flow 网络流
  • Graph Matching 图形匹配
  • Cycle Finding 环查找
  • Suffix Tree 后缀树
  • Suffix Array 后缀数组
  • Geometry (Polygon) 图形多边形
  • Convex Hull 凸包
    这个站点后续还在更新。

https://www.toptal.com/developers/sorting-algorithms

这个也是,不过类型风格不太喜欢,不过也很有帮助,主要是一堆排序算法,包括各种C , JAVA, PYTHON的源代码。
这里写图片描述

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

相当霸气的站点,有用户参数,可随意自定义随机函数。
这里写图片描述

目前,我们有以下数据结构和算法的可视化:

  • 基本
    • 堆栈:数组实现
    • 堆栈:链表实现
    • 队列:数组实现
    • 队列:链表实现
    • 列表:数组实现(可在java版本中使用)
    • 列表:链接列表实现(在java版本中可用)
  • 递归
    • 阶乘
    • 反转字符串
    • N皇后问题
  • 索引
    • 二进制和线性搜索(排序列表)
    • 二进制搜索树
    • AVL树(平衡二叉搜索树)
    • 红黑树
    • 张开树
    • 打开哈希表(闭合寻址)
    • 闭合哈希表(开放寻址)
    • Closed哈希表,使用桶
    • Trie(前缀树,26-ary树)
    • 基树(紧凑型)
    • 三元搜索树(Trie with BST of children)
    • B树
    • B +树
  • 排序
    • 比较排序
      • 气泡排序
      • 选择排序
      • 插入排序
      • 壳牌排序
      • 合并排序
      • Quck排序
    • 桶排序
    • 计数排序
    • 基数排序
    • 堆排序
  • 堆状数据结构
    • 二项式队列
    • 斐波纳契堆
    • 左派堆
    • 倾斜堆
  • 图算法
    • 广度优先搜索
    • 深度优先搜索
    • 连接组件
    • Dijkstra的最短路径
    • Prim的最低成本生成树
    • 拓扑排序(使用Indegree数组)
    • 拓扑排序(使用DFS)
    • Floyd-Warshall(所有对最短路径)
    • Kruskal最小成本生成树算法
  • 动态编程
    • 计算第n个斐波纳契数
    • 改变
    • 最长公共子序列
  • 几何算法
    • 2D旋转和比例矩阵
    • 2D旋转和平移矩阵
    • 2D更改坐标系
    • 3D旋转和缩放矩阵
    • 3D改变坐标系
  • 其他 …
    • 不相交集
    • Huffman编码(在java版本中可用)

http://sorting.at/

这个也是主要讲排序的,看的挺黑科技的。。。
这里写图片描述

https://illustrated-algorithms.now.sh/

这个站点的可视化很少,应该是才开始做,目前只有二分,快排,BFS的,可视化比较卡哇伊一点。。。
这里写图片描述

http://people.cs.pitt.edu/~kirk/cs1501/animations/

这个站点貌似挺慢的,运行了一个说需要java环境,大家可以自己研究下。
这里写图片描述

https://bost.ocks.org/mike/algorithms/

这是一个个人博客,里面着重讲算法(采样,随机乱序,排序,迷宫)的意义及优劣点,逐步深入,作者讲的很细,对这方面的有需求的朋友,一定要读读这篇文章,帮助很大。
这里写图片描述
此人博客也关注下,我也是从hacker news上翻到的。

如果哪位朋友有更好的可以留言,大家一同分享。

0 0
原创粉丝点击