排序的基本概念 @ 排序的定义 @ 排序是按关键字的非递减或非递增顺序对一组记录重新进行排列的操作。 假设含 n 个记录的序列为{},其相应的关键字分别为{},需确定 1,2,…,n 的一种排列,使其相应的关键字满足(非递减或非递增)关系,即使得序列成为一个按关键字有序的序列,这样的操作称为排序。
查找的基本概念 @ 查找表: 查找表(Search Table)是同一类型数据元素的集合. 关键字: 数据元素中某个数据项的值,又称为键值,可以标识一个数据元素,也可以标识一个记录的某个数据项,称为关键码.如果此关键字可以唯一的标识一个记录,则称此关键字为主关键字(Primary Key),对不同地记录,主关键字均不 …
散列表 @ 散列表的定义 @ 顺序表和树表的查找中,记录在存储结构中的位置与关键字无直接关系,查找是通过比较进行的,如果结点特别多,需要和很多无效关键字进行比较,导致效率低下。如果在元素的存储位置与关键字建立对应关系,进行查找时就无需进行比较,或者少数的比较,这就是散列查找法的思想,它通过对元素的关键字值进行某种运算 …
带权最小生成树 @ 如果要在 n 个城市之间建立通信网络,n 个城市之间最多有 n(n-1)/2 条道路,如何选择线路连通所有的城市,并且为了节省成本,要使连通的线路距离最短,假设有如下城市:
概述 @ 图的遍历算法是求解图的连通性的问题、拓扑排序和关键路径等算法的基础。 然而,图的遍历比树复杂,因为图的任一顶点都可能和其余的顶点相邻接,所以在访问了某个顶点之后,可能沿着某条路径搜索,又回到该顶点上,为了避免同一个顶点被多次访问,遍历图的过程中,必须记下每个被访问过的顶点。
图的定义 @ 图 G 由两个集合 V 和 E 组成,记为 G=(V,E),V 是顶点的有穷非空集合,E 是 V 中顶点偶对的有穷集合,这些顶点偶对称为边,V(G)表示图的顶点集合,E(G)表示图的边集合。
哈夫曼树 @ 哈夫曼树的基本概念 @ 哈夫曼树又称为最优树,是一类带权路径长度最短的树,在实际中有广泛的应用。 路径: 从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径 路径长度:路径上的分支数目称作路径的长度 树的路径长度:从树根到每一结点的路径长度之和 权:赋予某个实体的一个量,是对实体的某个或某些属 …
树的定义 @ 树的结构是一个递归的定义,树是以分支关系定义的层次结构,树(Tree)是n(≥0)个结点的有限集,它或为空树(n=0),或为非空树,对于非空树 T:
串的定义 @ 串(String)(或字符串)是由零个或多个字符组成的有限序列,一般记为 $$ s=a_1a_2 \cdots a_n \quad(n \geq 0) $$ 串中字符的数目 n 称为串的长度,零个字符的串称为空串,长度为零。 串中任意个连续的字符组成的子序列称为该串的子串,包含子串的串相应地称为主串。 …
栈的定义和特点 @ 栈(stack)是限定仅在表尾进行插入或删除的操作的线性表,表尾端称为栈顶,表头端称为栈底,不含元素的空表称为空栈,栈因为其特性又被称为后进先出(Last In First Out)的线性表。
线性表的定义 @ 线性结构的基本特点是除第一个元素无直接前驱,最后一个元素无直接后继之外,其他每个数据元素都有一个前驱和后继。同一线性表中的元素必定具有相同的特性,即同属于同一数据对象,相邻数据元素之间存在着序偶关系。由$n(n>=0)$个数据特性相同的元素构成的有限序列称为线性表。线性表中元素的个数 …