数据结构
pig2687
这个作者很懒,什么都没留下…
展开
-
数据结构实验之图论二:图的深度遍历
数据结构实验之图论二:图的深度遍历Description请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。Input输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。Output输出有n行,对应n组输出,每行为用空格隔开的k个整数原创 2021-03-29 19:46:15 · 260 阅读 · 0 评论 -
图的基本存储的基本方式二
图的基本存储的基本方式二Description解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么?Input多组输入,到文件结尾。每一组第一行有两个数n、m表示n个点,m条有向边。接下来有m行,每行两个数u、v代表u到v有一条有向边。第m+2行有一个数q代表询问次数,接下来q行每行有一个询问,输入两个数为a,b。注意:点的编号为0~n-1,2<=n<=500000 ,0<=m<=500000,0<原创 2021-03-29 19:27:02 · 76 阅读 · 0 评论 -
数据结构实验之数组三:快速转置
数据结构实验之数组三:快速转置Description转置运算是一种最简单的矩阵运算,对于一个mn的矩阵M( 1 = < m < = 10000,1 = < n < = 10000 ),它的转置矩阵T是一个nm的矩阵,且T( i , j )=M( j , i )。显然,一个稀疏矩阵的转置仍然是稀疏矩阵。你的任务是对给定一个m*n的稀疏矩阵( m , n < = 10000 ),求该矩阵的转置矩阵并输出。矩阵M和转置后的矩阵T如下图示例所示。稀疏矩阵M原创 2021-03-24 20:07:15 · 189 阅读 · 0 评论 -
栈,队列,双向队列
栈,队列,双向队列栈:对于栈,有着较为简单的描述,即只可以从栈的最后面来进行进栈和出栈的操作,先进后出,后进先出。头文件#include < stack >定义方法:stack<栈中元素类型>栈的名字(这里为了之后方便,将名字定义为sta)进栈操作:sta.push(元素) 放在栈的最后出栈操作:sta.pop() 将栈的最后一个元素弹出返回栈的最后一个元素:sta.top()判断栈是否为空:sta.empty()==true(为空)s原创 2021-03-23 10:50:11 · 274 阅读 · 0 评论 -
传纸条
传纸条Description传纸条是一种在课堂上传递信息的老方法,虽然现在手机短信和QQ聊天越来越普及,但是手写的信息会让人感到一种亲切感。对许多学生而言,在学校里传递一些私秘性的信息是一种令人兴奋的打发时光的方式,特别是在一些令人厌烦的课堂上。XX 和 YY 经常在自习课的时候传纸条来传递一些私密性的信息。但是他们的座位相隔比较远,传纸条要通过其他人才能到达对方。在传递过程中,难免会有一些好奇心比较强的同学偷看纸条的内容。所以他们想到了一个办法,对纸条内容进行加密。加密规则很简单:多次在信息的任意原创 2021-03-22 20:35:48 · 312 阅读 · 0 评论 -
数据结构实验之队列一:排队买饭
数据结构实验之队列一:排队买饭Description中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋。所以有时吧,人还是很多的,排队是免不了的,悲剧的是超市只有两个收银窗口。问题是这样的:开始有两队人在排队,现在咱们只研究第一队,现在我们给每个人一个编号,保证编号各不相同,排在前面的人买完饭就走了,有些人挑完饭就排在后面等待付款,还有一些人比较聪明原创 2021-03-22 20:29:19 · 80 阅读 · 0 评论 -
数据结构实验之栈与队列十一:refresh的停车场
数据结构实验之栈与队列十一:refresh的停车场Descriptionrefresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道,Del 表示停车场中出去了一辆车,Out 表示便道最前面的车辆不再等待,原创 2021-03-22 20:08:30 · 42 阅读 · 0 评论 -
双向队列
双向队列Description想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LIN X X表示一个整数,命令代表左边进队操作;RIN X 表示右边进队操作;ROUTLOUT 表示出队操作;Input第一行包含一个整数M(M<=10000),表示有M个操作;以下M行每行包含一条命令;命令可能不合法,对于不合法的命令,请在输出中处理;Output输出的第一行包原创 2021-03-22 19:33:46 · 204 阅读 · 0 评论 -
数据结构实验之栈与队列十:走迷宫
数据结构实验之栈与队列十:走迷宫Description一个由n * m 个格子组成的迷宫,起点是(1, 1), 终点是(n, m),每次可以向上下左右四个方向任意走一步,并且有些格子是不能走动,求从起点到终点经过每个格子至多一次的走法数。Input第一行一个整数T 表示有T 组测试数据。(T <= 110)对于每组测试数据:第一行两个整数n, m,表示迷宫有n * m 个格子。(1 <= n, m <= 6, (n, m) !=(1, 1) ) 接下来n 行,每行m 个数。其中原创 2021-03-22 19:18:31 · 66 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
顺序表应用1:多余元素删除之移位算法Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除;Input第一行输入整数n,原创 2021-03-17 23:05:39 · 134 阅读 · 0 评论 -
数据结构上机测试1:顺序表的应用
数据结构上机测试1:顺序表的应用Description在长度为n(n<1000)的顺序表中可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只能有一个)。Input第一行输入表的长度n;第二行依次输入顺序表初始存放的n个元素值。Output第一行输出完成多余元素删除以后顺序表的元素个数;第二行依次输出完成删除后的顺序表元素。SampleInp原创 2021-03-17 21:30:27 · 129 阅读 · 0 评论