![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 82
数据结构
小天才才
而世之奇伟、瑰怪,非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也
展开
-
【数据结构】树相关例题(C/C++含注释)
文章目录一、二叉树的创建及遍历二、二叉树结点的共同祖先问题三、哈夫曼编码四、二叉树左右子树交换操作一、二叉树的创建及遍历【问题描述】 给出一个按照先序遍历得出的字符串,’#’ 代表空的子节点,大写字母代表节点内容。请通过这个字符串建立二叉树,并分别采用“递归”和“非递归”的先序、中序、后序遍历的算法分别输出每一个非空节点。【输入形式】 输入只有一行,包含一个字符串S,用来建立二叉树。保证S为合法的二叉树先序遍历字符串,节点内容只有大写字母,且S的长度不超过100。【输出形式】原创 2022-04-02 12:00:48 · 1556 阅读 · 0 评论 -
【数据结构】栈和队列相关例题(C/C++含注释)
文章目录一、判断字符串镜像——栈二、表达式求值问题三、银行排队——队列一、判断字符串镜像——栈【问题描述】试写一个算法,识别依次读入的一个以“@”为结束符的字符序列是否为形如 “序列1&序列2” 模式的字符序列。其中序列1和序列2都不含字符 “&”,且序列2是序列1的逆序列。例如,“ a+b&b+a ”是属该模式的字符序列,而 “1+3&3-1”则不是。【输入形式】以@为结尾的一串字符【输出形式】若符合模式则输出字符串长度,否则输出no【样例输入】a+b&a原创 2022-03-06 15:06:44 · 2225 阅读 · 2 评论 -
【数据结构】链表相关例题(C/C++含注释)
文章目录一、链表合并二、双向循环链表的操作三、多项式相加一、链表合并【问题描述】两个非降序链表的并集,例如将链表1->2->3 和 2->3->5 并为 1->2->3->5,只能输出结果,不能修改两个链表的数据。【输入形式】第一行首先是数据的个数,然后是第一个链表的各结点值,以空格分隔。第二行首先也是数据的个数,然后是第二个链表的各结点值,以空格分隔。【输出形式】合并好的链表,以非降序排列,值与值之间以空格分隔。【样例输入】4 4 7 10 3原创 2022-01-16 16:46:21 · 2003 阅读 · 2 评论 -
【数据结构】数据结构练习题5——查找+排序
一、选择题1.顺序查找法适合于存储结构为哪一种存储方式的线性表。(A)A 顺序存储或链接存储B 散列存储C 压缩存储D 索引存储2.对线性表进行二分查找时,要求线性表必须(A)A 以顺序方式存储,且结点按关键字有序排序B 以顺序方式存储C 以链接方式存储D 以链接方式存储,且结点按关键字有序排序3.对于查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。这种方式主要适合于(A)A 动态查找表B 静态查找表C 静态查找表与动态查找表D 两种表都不适合4.采原创 2022-01-05 20:00:21 · 6849 阅读 · 4 评论 -
【数据结构】数据结构练习题4——图
一、选择题1.2对有n个顶点、e条边且使用邻接表存储的有向图进行广度优先搜索遍历,其算法时间复杂度是(C)A O(n)B O(e)C O(n+e)D O(n*e)2.下列哪一种图的邻接矩阵是对称矩阵(B)A 有向图B 无向图C AOV网D AOE 网3.用有向无环图描述表达式(A+B)*((A+B)/A),至少需要顶点的数目为 (A)A 5B 6C 8D 94.如果从无向图的任一顶点出发,进行一次深度优先搜索即可访问所有的顶点,则该图一定是 (B)A 完全图B 连通图C原创 2022-01-01 13:59:13 · 4268 阅读 · 4 评论 -
【数据结构】数据结构练习题3——串+数组+广义表+树
选择题1.若某串的长度小于一个常数,则采用什么存储方式最为节省空间。(C)A 链式B 堆结构C 顺序表2.串是 (D)A 少于一个字母的序列B 任意个字母的序列C 不少于一个字符的序列D 有限个字符的序列3.串的长度是(C)A 串中不同字母的个数B 串中不同字符的个数C 串中所含的字符的个数D 串中所含字符的个数,且大于04.设串的长度为n,则它的子串个数为 (C)A nB n(n+1)C n(n+1)/2D n(n+1)/2+15.下列哪些为空串 (B)A S=“原创 2021-12-24 19:53:07 · 4367 阅读 · 1 评论 -
【数据结构】数据结构练习题2——栈+队列
一、选择题1.假定一个循环顺序队列的队首和队尾指针分别为f和r,则判断队空的条件是(D)A f+1==rB r+1==fC f==0D f==r2.假定一个链队(有头结点)的队首和队尾指针分别为front和rear,则判断队空的条件是(A)A front==rearB front!=NULLC rear!=NULLD front==NULL3.循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是 (A)A (rear-fron原创 2021-12-18 14:03:55 · 4767 阅读 · 0 评论 -
【数据结构】数据结构练习题1——绪论+线性表
一、选择题1.下面关于算法说法错误的是(D)A 算法最终必须由计算机程序实现B 为解决某问题的算法同为该问题编写的程序含义是相同的C 算法的可行性是指指令不能有二义性D 以上几个都是错误的2.下面程序段的时间复杂性的量级为(D)for(i=1;i<=n; i++) for(j=1;j<=m; j++){ c[i][j]=0; for(k=1;k<=w;k++) c[i][j]+=a[i][k]*b[k][j] }A O(i*j*k)B O(n*m*k)C原创 2021-12-12 13:56:41 · 4229 阅读 · 2 评论 -
【数据结构】关键路径中为什么事件的最早发生时间是源点到顶点的最长路径长度?
在思考这个问题之前,我们先来了解一下,在关键路径中,开始和发生有什么区别?开始和发生 “发生”是针对于事件的,也就是图中的顶点。只有在指向该顶点的所有有向边对应的活动结束,该顶点所代表的事件才发生。 举个例子,一个事件C,它仅被两条边a, b指向,仅当a,b两活动都完成时,事件C发生。 “开始”是针对于活动的,也就是图中的边。只有在一个顶点所代表的事件发生后,从该顶点出发的所有边对应的活动才能开始。最早发生时间 刚开始我也很疑惑,为什么是最长的路径长度决定最早的发生时间呢?难道不应该原创 2021-09-19 20:22:49 · 2512 阅读 · 6 评论 -
【中国大学MOOC】浙江大学——数据结构(PAT)(持续更新ing)
文章目录@[toc]函数题01-复杂度3 二分查找 (20 分)编程题01-复杂度1 最大子列和问题 (20 分)01-复杂度2 Maximum Subsequence Sum (25 分)函数题01-复杂度3 二分查找 (20 分)本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;原创 2021-03-02 21:01:44 · 2258 阅读 · 0 评论 -
数据结构学习(1)--- 线性表的定义与基本功能实现
本篇主要讲解一下线性表的基本概念和在顺序存储结构中一些基本功能的实现,使用的代码语言是C/C++原创 2020-10-04 23:22:16 · 1391 阅读 · 0 评论