![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 78
G_Fukang
Matlab狗的艰难互联网转型之路
展开
-
数据结构[1] -- 栈、队列、优先队列、链表和堆
栈(Stack) 栈是一种通常用于临时存储数据的数据结构,具有先入后出的特点,可以通过数组来实现 /** * @Auther gongfukang * @Date 2017/12/4 20:14 */ public class Stack { private int maxSize; private long[] stackArray; private int原创 2018-01-11 10:49:49 · 416 阅读 · 0 评论 -
数据结构[2] -- 二叉搜索树(BST)
二叉搜索树操作集 二叉搜索树:一个节点的左子节点的关键字的值小于这个节点,右子节点的关键字的值大于或者等于这个父节点 查找节点 在查找过程中,用变量current来保存正在查看的节点,参数key是要查找的值,查找从root开始,因此开始把current设为根。之后,在while循环中,将要查找的值,key与iData做比较。小于,则current设为左节点,大于则设为右节点。 插入原创 2018-01-11 10:53:04 · 288 阅读 · 0 评论 -
数据结构[3] -- 无权图
无权图 Graph wiki 表示图 邻接矩阵 adjMat 邻接矩阵是一个二维数组,数据项表示两点之间是否存在边,如果图有N个顶点Vertex,邻接矩阵就是N*N的数组。 邻接表 verterxList 邻接表是一个链表数组(或者是链表的链表),每个单独的链表表示了有哪些顶点与当前顶点邻接。 邻接矩阵建立图 插入边addEdge public void add原创 2018-01-11 10:53:57 · 816 阅读 · 0 评论 -
数据结构[4] -- 带权图
带权图 GraphW 最小生成树(MSTW) 有权图的最小生成树是用优先级队列来实现的,优先级队列 可以基于堆来实现,也可以基于数组实现。 方法 从一个顶点开始,放到树的集合中,循环执行下面步骤 找到从最新的顶点到其他顶点的的所有边,这些顶点不在树的集合中,将这些边放到优先级队列 找到权值最小的边,把它和它所到达的顶点都放到树的集合中 顶点分类 已经被连接的顶点,...原创 2018-01-11 10:54:47 · 4001 阅读 · 0 评论 -
数据结构[5] -- 排序算法
选择排序 不断选择剩余元素的最小值 找到数组中最小的那个元素,然后将他和数组的第一个元素交换,如果第一个元素就是最小的元素那么就和它自己交换 在剩下的元素中找到最小的元素,将它和数组的第二个元素交换 循环,直到数组全部有序 插入排序 O(N^2) 在插入排序中,假设一个很小的数据项在很靠近右端的位置上,这里本来应该是一个值较大的数据项所在的位置,把这个小数据项移动到在左边的正确位置原创 2018-01-29 14:20:45 · 267 阅读 · 0 评论