数据结构
文章平均质量分 82
等时钟成长
“在你还是一个难看的小姑娘时,琼玛,我就爱你。那时你穿着方格花布连衣裙,系着一块皱巴巴的围脖,扎着一根辫子拖在身后。我仍旧爱你”。
展开
-
JAVA实现单链表
单链表的一些主要功能: 1.单链表 // node类 public class Node { public Object data; public Node next; // 构造方法要公开 public Node(Object data, Node next){ this.data = data; t...原创 2018-12-22 22:36:23 · 143 阅读 · 0 评论 -
数据结构のJavaScript 实现之最小生成树MST( Kruskal算法和Prim算法)
先感谢查阅博客时给予我启发的一些博主:https://www.cnblogs.com/skywang12345/p/3711496.html 这篇问题说得比较清楚,kruskal算法的重点在于怎么判断是否形成了回路,而判断是否形成回路要用到并查集的概念。 https://www.cnblogs.com/zhangming-blog/p/5414514.html 这篇例子很好,prim算法讲的...原创 2019-01-03 16:48:24 · 281 阅读 · 0 评论 -
数据结构のJavaScript实现之最短路径(Dijkstra算法和Floyd算法)
Dijkstra算法——求某一个点到其他所有点的最短路径Dijkstra算法和最小生成树的Prim算法又有异曲同工之妙。都是要将顶点分成两坨,一坨未访问的,一坨已访问的,通过循环将未访问的一次次拉下水,变成访问过的,在这个过程中,每次都找权值最小的路径。以A点为例:初始化A点到所有其他点的距离dis = [0, ∞, ∞](依次代表[【AA】【AB】【AC】]); 设当前点为A,...原创 2019-01-04 19:04:21 · 1574 阅读 · 0 评论 -
数据结构のJavaScript实现 之 二叉运算树(Binary Expression Tree)
首先,感谢https://www.jianshu.com/p/765ed8e6102e作者的文章,为我提供了思路。然后,说一下问题:要求输入一个中序运算表达式,用二叉树将其存储起来,并且可以得到前序和后序表示。关键:找出表达式中优先级最小的运算符,作为根节点,然后从其左右分成一个树 优先级的大小定义:1. 不同级别之间的顺序是,括号 > 乘除 > 加减; 2. 同级,左边...原创 2018-12-31 14:22:07 · 257 阅读 · 0 评论 -
数据结构のJavaScript实现之七种排序
在实现过程中,参考了许多大佬的博客,不能全部列出,在此致谢,致歉。本文不讲基础的原理过程,只贴JavaScript代码,供想使用JavaScript实现排序的读者参考。排序的方法很重要,不同的排序方法效率差距还是很大的。打开控制台即可测试不同排序方法的效率如何。// 我们用下面的方法测试函数执行时间console.time("name"); // 开始计时function(){}...原创 2019-01-22 23:48:15 · 163 阅读 · 0 评论 -
【数据结构のJavaScript实现】栈与队列
栈和队列1. 栈1. 概念运算受限的线性表栈顶【TOP】,栈底【Bottom】栈stack是限制仅在表的一端进行插入和删除运算的线性表LIFO后进先出顺序栈 & 链栈上溢,下溢两个栈,栈底分别在两头,一起向中间入栈2. 顺序栈(JavaScript)// 我们从0开始算数组,所以栈顶指针初始化在-1// 栈顶指针指向的位置是当前位置,当前位置应当有值,即栈顶元素...原创 2019-07-09 15:33:57 · 98 阅读 · 0 评论