软件设计师复习备考(四)

数据结构与数据运算(本部分主要以选择题为主,约占5分

线性结构

1、顺序存储:优点:可以随机存取表中元素。缺点:插入与删除需要移动元素。

2、链式存储:优点:插入与删除不需要移动元素。缺点:不能对数据元素进行随机访问。

3、栈:“先进后出”的线性表。(一般常考双向栈,如图

4、队列:一种“先进先出”的线性表。(一般常考循环队列、双端队列

4.1、循环队列:判空:rear=front  判满:front=(rear+1)%MaxSize  循环队列约定以“队尾指针所指的下一个位置时对头指针”来表示“队列满”的情况。

4.2、双端队列:要求元素进出队列必须在同一端口,可理解为两个栈。

 

5、串:仅由字符构成的有限序列,是一种线性表,一般记为s="a1a2a3…an"(n>0),其中,s为串名,引号内为串值。

空串:长度为0的串称为空串,空串不包含任何字符。

空格串:由一个或多个空格组成的串。

字串:由串中任意长度的连续字符构成的序列称为字串。含有字串的串称为主串。空串是任何串的子串。

非线性结构 

 1、二维数组(数组只适合顺序存储)

数据元素数目固定,一旦定义了一个数组结构,就不再有元素个数的增减变化。

数据元素具有相同的类型。

数据元素的下表关系具有上下界约束且下标有序。

 以行为主序优先存储的地址计算公式为:

Loc(aiaj)=Loc(a11)+((i-1)*n+(j-1))*L

 以列为主序优先存储的地址计算公式为:

Loc(aiaj)=Loc(a11)+((j-1)*m+(j-1))*L

1.1、三对角矩阵:以行为主序将n阶三对角矩阵An*n的非0元素aij存储在一维数组B[k](1<=k<=3*n-2)中,则元素位置之间的对应关系为:

k=3*(i-1)-1+j-i=2i+j(1<=i,j<=n)

 2、树

树的基本概念:

双亲、孩子和兄弟。结合的子树的根称为该结点的孩子结点;相应地,该结点称为其子结点的双亲。具有相同双亲的结点互为兄弟。

结点的度。一个结点拥有子树的个数称为该结点的度。

叶子结点。叶子结点是指度为0 的结点。

内部节点。除根结点外,度不为0的结点。

结点的层次。结点所在的层,从上往下数,根节点为第一层。

树的深度。一棵树的最大层数为该树的深度(或高度)。

有序/无序树。如果树中各结点的各个子树是从左到右有序排列且不能交换时,则称该树为有序树,否则称为无须树。

二叉树:

每个结点最多有两个子树。

满二叉树与完全二叉树:如果一个二叉树的层数为k,结点总数为2^k-1个,则它就是满二叉树。(通俗点说就是整棵树叶子结点都是满的) 在一个深度为h的二叉树中,除第h层外(最后一层),其他层都是满的,且最后一层所有的结点都必须从左到右依次放置,不能留空,则称该二叉树为完全二叉树。

二叉排序树:左子树上所有节点的值小于根节点的值,右子树上所有节点的值大于根节 点的值

平衡二叉树(AVL 树):左子树和右子树高度之差的绝对值不超过 1

二叉树的性质

性质一:在二叉树的i层上至多有2 i-1个节点(i>=1)至少有1个

性质二:深度为k的二叉树至多有2k-1个节点,至少为k个

性质三:对任何一棵二叉树T,如果终端结点树为n,度为2的结点为n2,度为0的结点为n0 则n0=n2+n1

性质四:具有n个节点的完全二叉树的深度为[log2n]+1向下取整

性质五:如果有一颗有n个节点的完全二叉树的节点按层次序编号,对任一层的节点i(1<=i<=n)有

            1.如果i=1,则节点是二叉树的根,无双亲,如果i>1,则其双亲节点为[i/2],向下取整

            2.如果2i>n那么节点i没有左孩子,否则其左孩子为2i

            3.如果2i+1>n那么节点没有右孩子,否则右孩子为2i+1

二叉树的遍历

前序(根、左、右)、后序(左、右、根)、中序(左、根、右)、顺序遍历(从上到下、从左到右)  (所谓的前、后、中指的是根遍历的位置

最优二叉树(哈夫曼树)

最优二叉树又称为哈夫曼树,是一种带权路径长度最短的二叉树。  哈夫曼树与完全二叉树、平衡二叉树之间没有必然的联系。

图的表示。G=(V,E);V:顶点的集合;E:边的集合

邻接矩阵。邻接矩阵表示法是指用一个矩阵表示图中顶点之间的邻接关系。

邻接表。邻接表表示法是指为图中的每一个顶点建立一个单链表。

图的遍历。图的遍历可以分为深度优先遍历、广度优先遍历两种方法,深度优先遍历类似于树的前序遍历,广度优先遍历则相当于树的层次遍历。

关键路径:从源点到汇点的路径中长度最长的

最短路径:从源点到其余各顶点的最短路径-----迪杰斯克拉算法

数据运算

 顺序查找、二分查找、哈希查找

哈希表:通过哈希函数(以记录的关键字为自变量)得到记录的存储地址;定长按一定 函数规律存放数据;哈希地址+关键字

排序

原文地址:https://www.cnblogs.com/yqPhare/p/14314333.html