前面的话 学习数据结构和算法十分重要。首要原因是数据结构和算法可以很高效地解决常见问题,这对今后的代码质量至关重要(也包括性能,要是用了不恰当的数据结构或算法,很可能会产生性能问题)。其次,对于计算机科学,算法是最基础的概念。数组是计算机科学中最常用的数据结构,我们知道,可以在数组的任意位置 ...
前面的话 本文将详细介绍图这种数据结构,包含不少图的巧妙运用 数据结构 图是网络结构的抽象模型。图是一组由边连接的节点 或顶点 。图是重要的,因为任何二元关系都可以用图来表示 任何社交网络,例如Facebook Twitter和Google plus,都可以用图来表示。还可以使用图来表示道路 航班以及通信状态,如下图所示: 一个图G V, E 由以下元素组成 下图表示一个图: 在着手实现算法之前, ...
2018-01-04 08:05 0 1049 推荐指数:
前面的话 学习数据结构和算法十分重要。首要原因是数据结构和算法可以很高效地解决常见问题,这对今后的代码质量至关重要(也包括性能,要是用了不恰当的数据结构或算法,很可能会产生性能问题)。其次,对于计算机科学,算法是最基础的概念。数组是计算机科学中最常用的数据结构,我们知道,可以在数组的任意位置 ...
前面的话 本文将详细介绍集合,这是一种不允许值重复的顺序数据结构 数据结构 集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,但应用在计算机科学的数据结构中。 在深入学习集合的计算机科学实现之前,我们先看看它的数学概念。在数学中 ...
前面的话 本文将介绍如何实现和使用链表这种动态的数据结构 数据结构 要存储多个元素,数组(或列表)可能是最常用的数据结构。每种语言都实现了数组。这种数据结构非常方便,提供了一个便利的[]语法来访问它的元素。然而,这种数据结构有一个缺点:(在大多数语言中)数组的大小是固定 ...
前面的话 前面介绍过一种非顺序数据结构是散列表,本文将详细介绍另一种非顺序数据结构——树,它对于存储需要快速查找的数据非常有用 数据结构 树是一种分层数据的抽象模型。现实生活中最常见的树的例子是家谱,或是公司的组织架构图 一个树结构包含一系列存在父子关系的节点 ...
前面的话 集合、字典和散列表可以存储不重复的值。在集合中,我们感兴趣的是每个值本身,并把它当作主要元素。在字典中,我们用[键,值]的形式来存储数据。在散列表中也是一样(也是以[键,值]对的形式来存储数据)。但是两种数据结构的实现方式略有不同,本文将详细介绍字典和散列表这两种数据结构 ...
图的简介 图(Graph)结构是一种非线性的数据结构,图在实际生活中有很多例子,比如交通运输网,地铁网络,社交网络,计算机中的状态执行(自动机)等等都可以抽象成图结构。图结构比树结构复杂的非线性结构。 图结构构成 1.顶点(vertex):图中的数据元素,如图一。 2. ...
图 1. 图的定义 图(graph) 是由一些点(vertex) 和这些点之间的连线(edge) 所组成的;其中,点通常称为顶点(vertex),而点到点之间的连线通常称之为边或者弧(edge)。通常记为G=(V,E); 要注意的是:线性表可以是空表,树可以是空树,图不可以是空图,图 ...
第七章 图 7.1 概念 连通图:如果图中任意两点都有路径,则该图是连通图 若一个有向图恰有一个顶点的入度为0,其与定点入度为1,则是一颗有向树 7.2 图的物理存储结构 因为图的节点度数相差很大,按照度数最大的顶点设计节点结构会造成存储单元浪费;如果按照每个顶点自己的度数 ...