数据结构
Q蛋黄酱
这个作者很懒,什么都没留下…
展开
-
数据结构-图的基本概念
线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的。一、图的定义与术语定义:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G转载 2017-04-19 16:48:37 · 522 阅读 · 0 评论 -
数据结构--图 的JAVA实现(上)
1,摘要:本系列文章主要学习如何使用JAVA语言以邻接表的方式实现了数据结构---图(Graph),这是第一篇文章,学习如何用JAVA来表示图的顶点。从数据的表示方法来说,有二种表示图的方式:一种是邻接矩阵,其实是一个二维数组;一种是邻接表,其实是一个顶点表,每个顶点又拥有一个边列表。下图是图的邻接表表示。从图中可以看出,图的实现需要能够表示顶点表,能够表示边表。邻接表指是转载 2017-04-19 16:50:10 · 556 阅读 · 0 评论 -
数据结构--图 的JAVA实现(下)
在上一篇文章中记录了如何实现图的邻接表。本文借助上一篇文章实现的邻接表来表示一个有向无环图。1,概述图的实现与邻接表的实现最大的不同就是,图的实现需要定义一个数据结构来存储所有的顶点以及能够对图进行什么操作,而邻接表的实现重点关注的图中顶点的实现,即怎么定义JAVA类来表示顶点,以及能够对顶点进行什么操作。为了存储图中所有的顶点,定义了一个Map,实际实现为LinkedHa转载 2017-04-19 16:50:58 · 400 阅读 · 0 评论 -
Java集合——HashMap原理及要点(二)
前言在HashMap原理及要点(一)中,提及了这么两个重要的基本概念:初始容量(initialCapacity,整型数据)加载因子(也称为负载因子, loadFactor,浮点类型数据)这篇文章,将对这两个概念作出详细说明。概述 对于 HashMap 及其子类而言,它们采用 Hash 算法来决定集合中元素的存储位置。当系统开始初始化 HashMap 时,系统会创建一个长度为 capacity原创 2017-05-21 17:08:19 · 359 阅读 · 0 评论 -
Java集合——HashMap原理及要点(一)
前言 HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。 定义 HashMap实现了Map接原创 2017-05-21 16:43:32 · 325 阅读 · 0 评论 -
数据结构——二叉树学习
一:树我们思维中的”树“就是一种枝繁叶茂的形象,那么数据结构中的”树“该是怎么样呢?对的,他是一种现实中倒立的树。 1:术语 其实树中有很多术语的,这个是我们学习树形结构必须掌握的。 <1> 父节点,子节点,兄弟节点 这个就比较简单了,B和C的父节点就是A,反过来说就是B和C是A的子节点。B和C就是兄弟节点。 <2> 结点的度 其实”度“就是原创 2017-05-22 16:12:53 · 492 阅读 · 0 评论 -
二叉排序树建立(JAVA实现)
最近看了一下二叉排序树的建立,自己写了一段代码,用来建立二叉排序树,给定一个数组,对这个数组中的数字进行建立二叉排序树。分两种情况: 1 数组中的数字是随机的,也就是说没有顺序 eg : int a [ ] = {3,1,2,5,0,7,9,8} ,用这个数组中的数字建立二叉排序树,注意这里的二叉排序树是随便的,没有特殊的要求(比如建立高度最小的二叉排序树),可知二叉排序树是不转载 2017-08-22 17:13:35 · 1063 阅读 · 2 评论 -
二叉树的一些性质
二叉树的一些性质转载 skywang12345 http://www.cnblogs.com/skywang12345/p/3576328.html树的介绍1. 树的定义树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它转载 2017-08-16 08:53:08 · 1508 阅读 · 0 评论 -
数据结构-算法-时间复杂度计算
算法的时间复杂度定义为:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n}=0(f(n))。它表示随问题规模n的增大,算法执行时间的埔长率和 f(n)的埔长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f( n)是问题规横n的某个函数。根据定转载 2017-09-12 08:16:57 · 503 阅读 · 0 评论