数据结构系列 - 广义表

1. 广义表的定义

广义表(Lists,又称列表)是线性表的推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。

广义表是n(n≥0)个元素a1,a2,…,ai,…,an的有限序列。
其中:
①ai--或者是原子或者是一个广义表。
②广义表通常记作:
Ls=( a1,a2,…,ai,…,an)。
③Ls是广义表的名字,n为它的长度
④若ai是广义表,则称它为Ls的子表
注意:
①广义表通常用圆括号括起来,用逗号分隔其中的元素。
②为了区分原子和广义表,书写时用大写字母表示广义表,用小写字母表示原子
③若广义表Ls非空(n≥1),则al是LS的表[......]

查看全文

数据结构系列 - 矩阵的存储

1. 前言

矩阵是许多科学与工程计算中经常遇到的问题,在高级语言中,通常使用二维数组来存储矩阵。然而,在矩阵的算法中,往往会出现阶数很高的矩阵中存在许多相同的元素或值为零的元素。为了节约存储空间,需要将这些矩阵进行压缩存储。如果矩阵中的元素存在一定的规律,则称这种矩阵为特殊矩阵。如果矩阵中的元素有许多的零元素且不具有规律性,则称这种矩阵为稀疏矩阵。

2. 特殊矩阵的压缩存储

(1)对称矩阵的压缩存储

在一个n阶方阵A中,若元素满足下述性质:

aij=aji 0≤i,j≤n-1

则称A为对称矩阵。

例如下图便是一个5阶对称矩阵:

图 对称矩[......]

查看全文

数据结构系列 - 队列基础

1. 队列的定义

队列是一种特殊的线性表,它包含一个队头(front)和一个队尾(rear),其中队头只允许删除元素,队尾只允许插入元素。队列的特定是先进入队列的元素先出来,即先进先出(FIFO)。出队列时,只有当前面的元素都退出之后,后面的元素才能退出。

图 队列示意图

2. 队列的操作

    队列的主要操作有下面6种:

(1)InitQueue(&Q):初始化操作,独立一个空队列Q。

(2)QueueEmpty(Q):若Q为空队列,返回1,否则返回0。

(3)EnterQueue(&Q,x):插入元素X到队列Q的队尾。[......]

查看全文

数据结构系列 - 栈基础

1. 栈的基础 
栈,也成为堆栈,是一种重要的线性结构。栈具有线性表的特点:每一个元素只有一个前驱元素和后继元素(除了第一个元素和最后一个元素外),但是在操作上与线性表不同,栈是一种操作受限的线性表,只允许在栈的一端进行插入和删除操作。栈可以用顺序存储结构和链式存储结构存储,采用顺序存储结构的栈称为顺序栈,采用链式存储结构的栈称为链式栈。栈的应用十分广泛,在表达式求值、括号匹配时常用到栈的思想。
2. 栈的操作
允许插入和删除操作的一端称为栈顶,另一端称为栈底。栈顶是动态变化的,它由一个称为栈顶指针(top)的变量指示,当表中没有元素时,称为空栈。栈的插入操作称为入栈或进栈,删除操作称为[......]

查看全文

【武侯新城系列-第三期】9号线大街规划很美

【前言】成都地铁9号线是成都市规划的一条快速交通轨道线路,长期规划是沿成都市3.5环绕成都市区,形成第二条“地铁7号线”环路;9号线一期规划从成飞集团到三色路,形成从西到东的一期路线,主要解决早晚高峰城西到城南的交通拥堵问题,同时考虑对接成都西站等。9号线的修建对武侯新城而言带来的利好不言而喻,如何充分利用9号线的交通优势,结合武侯区自身的产业定位,做大做强相关产业集群,是武侯新城需要考虑的问题。

一、提出“9号线大街”规划

地铁9号线纵贯武青南路1.5公里,构成“9号线大街”“一纵五横”(一纵即武青南路;五横即武科东西一路、二路、三路、四路、五路)区位优势。除了轨道交通与[......]

查看全文

1 2 3 4 5 10