数据结构
keen_zuxwang
android multimedia opengl es opencv
展开
-
数据结构:树
数据结构:树数据结构–树类型及树的基本概念 http://blog.csdn.net/xiaojie_570/article/details/53894362树(Tree) 是一种“一对多“的数据结构,是n(n>=0)个结点的有限集,n=0时称为空树。 在任意一棵非空树中: 1)有且仅有一个特定的称为根(root)的结点。 2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,原创 2017-06-16 07:53:49 · 370 阅读 · 0 评论 -
List ArrayList LinkedList
List ArrayList LinkedListList用于存放多个元素,能够维护元素的次序,并且允许元素的重复。 List接口一共有三个实现类:LinkedList、ArrayList、Vector三者异同: LinkedList 链式存储—它用链表结构存储数据,适合数据的动态插入和删除,随机访问和遍历速度比较慢(需从表头开始查找、遍历)。 它还提供了List接口中没有定原创 2017-06-22 14:48:06 · 384 阅读 · 0 评论 -
数据结构 Dijkstra(迪杰斯特拉)算法
数据结构 Dijkstra(迪杰斯特拉)算法Dijkstra(迪杰斯特拉是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径,该算法要求图中不存在负权边。 主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。算法思想: 图 G=(V,E) 中,假设每条边E[i]的长度为w[i],找到由顶点V0到其余各点的最短路径 设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组:原创 2017-06-24 11:09:24 · 1273 阅读 · 0 评论 -
数据结构 快速排序
数据结构 快速排序demo : http://download.csdn.net/detail/keen_zuxwang/9879425快速排序 是一种非常高效的排序算法,将关键字较大的记录从前面直接移动到后面,关键字较小的记录从后面直接移动到前面,从而减少了总的比较次数和移动次数。 它采用“分而治之”的思想,以基准把大数组拆分为小数组,小的拆分为更小的直到数组的元素为一排序思想:原创 2017-06-24 11:04:43 · 717 阅读 · 0 评论 -
最小生成树(普利姆算法、克鲁斯卡尔算法)
最小生成树(普利姆算法、克鲁斯卡尔算法)标签: 算法 2012-10-11 10:01 82648人阅读 评论(8)收藏举报本文章已收录于:分类: 算法(32) 作者同类文章X给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.求最小生成树转载 2017-06-25 09:25:23 · 487 阅读 · 0 评论 -
数据结构 最小生成树 Kruskal算法
数据结构 最小生成树 Kruskal算法无向连通图的生成树不是唯一的。连通图的一次遍历所经过的边的集合及图中所有顶点的集合就构成了该图的一棵生成树,对连通图的不同遍历,就可能得到不同的生成树,那么,它的所有生成树中必有一棵边的权值总和最小的生成树,我们称这棵生成树为最小生成树,简称为最小生成树最小生成树: 具有最小权重且连接到所有结点的树对于带权无向图G=(V, E),V表示图中的结点,E表示原创 2017-06-25 10:30:14 · 1671 阅读 · 0 评论 -
数据结构 最小生成树 Prim算法
数据结构 最小生成树 Prim算法Prim算法(普里姆算法) 求加权连通图的最小生成树的算法,从一个点开始不断让树长大的过程, 并且保持权值最小: 从任意一个顶点开始,每次选择一个与当前顶点集最近的一个顶点,并将两顶点之间的边加入到树中。Prim算法在找当前最近顶点时使用到了贪婪算法基本思想 1、对于图G而言,V是所有顶点的集合,设置两个新的集合U和T, U存放G的最小生成树中的顶点,原创 2017-06-25 10:31:20 · 1037 阅读 · 0 评论 -
数据结构 插值查找 斐波那契查找
数据结构 插值查找 斐波那契查找二分查找(折半查找): 1、它属于有序查找算法, 元素必须是有序的,如果是无序的则要先进行排序操作。 2、基本思想: 用给定值k先与中间结点的关键字比较,中间结点把线形表分成两个子表,若相等则查找成功;若不相等,再根据k与该中间结点关键字的比较结果确定下一步查找哪个子表, 这样递归进行,直到查找到或查找结束发现表中没有这样的结点。 3、复杂度分析:原创 2017-06-27 10:15:55 · 661 阅读 · 0 评论 -
数据结构 平衡查找树 红黑树(Red-Black Tree)
数据结构 平衡查找树 红黑树(Red-Black Tree)二叉查找树(BinarySearch Tree,也叫二叉搜索树,或称二叉排序树Binary Sort Tree)或者是一棵空树,或者是具有下列性质的二叉树: 1、若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2、若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 3、任意节点的左、右子树也分别原创 2017-06-27 10:18:04 · 775 阅读 · 0 评论 -
Stack Queue Deque
Stack Queue DequeStack 继承Vector类, 后进先出的值的排列, Stack类是同步的,效率不高。官方一般建议这样使用ArrayDeque代替Stack常用方法: empty — 判断stack是否为空 peek — 返回栈顶端的元素 pop — 弹出栈顶的元素,出栈操作只是删除栈顶元素,并不返回该元素,内部执行了 peek(); removeEleme原创 2017-06-22 14:46:24 · 371 阅读 · 0 评论 -
Vector
VectorVector 可实现自动增长的对象数组, Vector与ArrayList一样,也是通过数组实现的 Vector属于线程安全级别的,因为线程安全需要更大的系统开销,访问它比访问ArrayList慢Vector 构造方法: public vector() // 系统会自动对向量进行管理 public vector(int initialcapacity,int capacit原创 2017-06-22 14:44:54 · 268 阅读 · 0 评论 -
二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)
二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)动态查找树: 二叉查找树(BST)、平衡二叉查找树(AVL)、红黑树(RBT)、B~/B+树(B-tree) 1、都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形态。而这些操作所付出的代价都远远小于重建一棵树。 2、查找的时间复杂度原创 2017-06-16 07:59:33 · 609 阅读 · 0 评论 -
二叉查找树(BST) 自平衡二叉搜索树(RBT、AVL)
二叉查找树(BST) 自平衡二叉搜索树(RBT、AVL)二叉查找树 http://www.cnblogs.com/gaochundong/p/binary_search_tree.html 二叉查找树 http://blog.jobbole.com/79305/ 动态查找树比较 http://www.iteye.com/topic/614070无序链表和有序数组,无序链表在插入的时候具有原创 2017-06-16 08:05:40 · 1535 阅读 · 0 评论 -
数据结构:图
数据结构:图Eclipse java工程: 图的深度优先遍历、广度优先遍历demo:http://download.csdn.net/detail/keen_zuxwang/9875848线性表、树、图数据结构: 线性表中的元素是“一对一”的关系 树中的元素是“一对多”的关系 图中的元素则是“多对多”的关系原创 2017-06-16 07:57:19 · 720 阅读 · 0 评论 -
数据结构:线性表
数据结构:线性表Eclipse java 工程: 单链接、双链表 demo: http://download.csdn.net/detail/keen_zuxwang/9875224 线性表是一种线性结构,是由零个或多个数据元素构成的有限序列。 线性表的特征是在一个序列中,除了头尾元素,每个元素都有且只有一个直接前驱,有且只有一个直接后继,原创 2017-06-20 11:21:50 · 521 阅读 · 0 评论 -
分治、动态规划、贪心、回溯、分支限界算法
分治法 把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并(子问题须相互独立,且与原问题形式相同)。设计思想: 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 分治策略:算法设计策略叫做分治法 、对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则原创 2017-06-21 08:00:18 · 1112 阅读 · 0 评论 -
数据结构 二叉查找树
数据结构 二叉查找树Eclipse java 工程: demo: http://download.csdn.net/detail/keen_zuxwang/9877670数组:有序的通过二分查找 链表:查找要从头开始,只有知道了前一个元素的地址才能知道下一个地址 二叉排序树(Binary Sort Tree): 又称为二叉查找树,它或者是一棵空树,或者是具有下列性质的二叉原创 2017-06-22 14:33:18 · 418 阅读 · 0 评论 -
二叉树
Eclipse java 工程: demo: http://download.csdn.net/detail/keen_zuxwang/9877670import java.util.ArrayDeque; import java.util.LinkedList; import java.util.Queue;原创 2017-06-22 14:35:56 · 289 阅读 · 0 评论 -
图 邻接矩阵 深度优先遍历 广度优先遍历
Eclipse java工程: 图的深度优先遍历、广度优先遍历 demo:http://download.csdn.net/detail/keen_zuxwang/9875848import java.util.ArrayList; import java.util.LinkedList; /** * @description 邻接矩阵模型类 */ public class Grap原创 2017-06-22 14:42:38 · 1369 阅读 · 0 评论 -
数据结构 最短路径问题 Floyd算法
数据结构 最短路径问题 Floyd算法最短路径问题 是图论研究中的一个经典算法问题,旨在寻找图(由结点和边(路径)组成的)中两结点之间的最短路径。算法具体的形式包括: 1、确定起点的最短路径问题: — 即已知起始结点,求最短路径的问题。适合Dijkstra算法。 2、确定终点的最短路径问题: — 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。 在无向图中原创 2017-06-24 11:07:54 · 1771 阅读 · 0 评论