数据结构
大一下数据结构学习
--THESCUM
这个作者很懒,什么都没留下…
展开
-
1065-简单的最小数
题目:1065-简单的最小数分析:本道题是一道模拟题,主要用贪心策略贪心策略如下:用string a存储数字,如178543, 从a[0]开始尽量使a[i]成递增顺序,若a[i]>a[i+1]将删除a[i],若数组每个数都满足a[i]<=a[i+1],将删除最后一个数字如178543,因为8>5第一个删除8变为17543;因为7>5,删7得1543,因为5>4,删5得143; 因为4>3,删4得13;代码:#include<iostream>原创 2020-10-04 09:44:58 · 176 阅读 · 0 评论 -
1060-合法栈输出
题目: 1060-合法栈输出分析:本题是一道模拟题,模拟数据进栈与出栈的顺序,本题需要解决两个子问题第一个问题:用什么的存储结构模拟进栈与出栈首先进栈可以用一个队列a和栈b来模拟即a队列的首元素进b栈后便删除a的队列的首元素;队列c模拟出栈的顺序即b栈出一个数据进c队列,如图所示为模拟情况第二个问题:如何遍历所有的进栈出栈情况呢用DFS(递归)和回溯法来遍历所有的进栈出栈情况,具体如下:如上图在a队列的数据1向b栈输入后,这个数据有两种选择:选择一,直接出栈进入c队列;选择二,继续留在b栈里(原创 2020-09-20 17:57:16 · 180 阅读 · 0 评论 -
[C++]有向图的简单路径
一、题目描述(1).求出有向图中从起点到终点的所有简单路径。其中起点和终点可以由用户自行设定。(2).求出有向图中从起点到终点的指定长度(如K)的所有简单路径。其中起点和终点可以由用户自行设定。二、解决方案1.任务定义和问题分析首先建立图的邻接矩阵来表示图,0表示无边,非0的n代表边的权值(边的长度);用vector < int > path储存路径(path记录图的点来表示路径);采用BFS(深度遍历)的方法来遍历所有的路径,符合的路径则进path并输出;2.详细设计a.原创 2020-06-11 22:16:41 · 4119 阅读 · 1 评论 -
[C++]实现有向无环图的所有拓扑序列
一:任务定义和问题分析我们需要解决3个问题:一:建立图的邻接矩阵以及入度数组(入度序列)二:得到入度为0的点三:拓扑序列的储存,因为要输出所有的拓扑序列,所以拓扑序列的储存结构较为重要,我选择STL的deque来储存拓扑序列的点二:详细设计以下为图的类class figure{private: int count;//图的点数个数 int count1;//下文会提及的 bool judge_;//下文会提及的 int** sz;//动态二维数组的创立 int* deg;//入度原创 2020-06-07 09:08:33 · 2335 阅读 · 0 评论