
数据结构
practical_sharp
这个作者很懒,什么都没留下…
展开
-
图的深度优先搜索和广度优先搜索
图的表示数据结构中,图的最常见的两种表示方法是邻接矩阵表示法和邻接表表示法。邻接矩阵用一个二维表来表示各个顶点之间的邻接关系(即是否有边相连),适合于稠密图且顶点数较少的图。一般建立在邻接矩阵表示的图的搜索的时间复杂度O(n2)邻接表为每一个顶点建立一个链表,把与之邻接的顶点插入到以该顶点为头节点的链表中,适合于稀疏图的存储。一般建立在邻接表表示的图的搜索的时间复杂度为O(n+e)。由于邻接矩阵结构简单,我主要复习邻接表的表示方法。#include <iostream>#includ原创 2020-08-02 19:44:57 · 1024 阅读 · 0 评论 -
数据结构复习——习题一
一、单项选择题数据结构是指( )。A.数据元素的组织形式 B.数据类型C.数据存储结构 D.数据定义数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为( )。A.存储结构 B.逻辑结构C.链式存储结构 D.顺序存储结构树形结构是数据元素之间存在一种( )。A.一对一关系 B.多对多关系C.多对一关系 D.一...原创 2020-01-07 11:45:14 · 4551 阅读 · 0 评论 -
顺序表抽象数据结构+综合运用题(历年考研题+核心运用题)
今天作者学习了顺序表的抽象数据结构,在考研资料上发现了好多关于顺序表的综合运用题,基本上都是历年的考研题,所以今天不妨来着重探讨一下。顺序表的抽象数据结构抽象数据结构包括了顺序表存储结构的定义,数据元素之间的关系,还有定义在数据元素长的基本操作。由于基本操作都比较简单容易实现,所以就不再单个重述。比较值得注意的是顺序表的插入和删除操作,并非严格意义上的插入删除,只是数组值的覆盖而已。#inc...原创 2018-10-07 00:56:06 · 1557 阅读 · 0 评论 -
双向链表抽象数据结构(基本操作+测试代码)
作者最近做数据结构的习题时发现了好多关于双向链表的问题,诸如双向链表非空的判定条件,双向链表插入一个结点的四条基本语句,双向链表删除一个结点的两条基本语句,判断双向链表是否为回文表的算法之类的练习题。今天就不妨对双向链表的抽象数据结构进行一次深入的学习,具体内容参照本博文。双向链表的优点在单向链表中,查找直接后继的时间复杂度为O(1),查找直接前驱的时间复杂度为O(n)。为了克服这一缺点,引入...原创 2018-10-06 00:53:33 · 1098 阅读 · 0 评论 -
双向链表结点的插入和删除算法
双向链表的插入与删除双向链表的结点定义#define ElemType int//双向链表的存储结构typedef struct DuLNode{ ElemType data; DuLNode *prior; DuLNode *next;}DuLNode, *DuLinkList;双向链表的结点删除画图表示,并在上述双向链表中一个已知结点p之后插入一个结...原创 2018-10-03 23:47:46 · 15491 阅读 · 5 评论