C学习
糖琴心
这个作者很懒,什么都没留下…
展开
-
STL编程与lambda表达式
原创 2019-12-31 10:07:33 · 159 阅读 · 0 评论 -
浙大数据结构:08-图7 公路村村通 (30 分)Prim与Kruskal算法
08-图7 公路村村通 (30 分)现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。输出格式:输出村村...原创 2019-08-30 16:56:55 · 1265 阅读 · 1 评论 -
浙大数据结构:07-图6 旅游规划 (25 分)
07-图6 旅游规划 (25 分)有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高...原创 2019-08-29 22:07:36 · 429 阅读 · 0 评论 -
Prim和Dijkstra算法的区别
最近重新看数据结构 图的一些内容,发现prim和dijkstra太像了,想思考他们的区别,感觉下面这篇文章是讲得最本质的,转过来。https://www.cnblogs.com/huiliu/archive/2011/04/15/2017228.html在图论中,Prim算法是计算最小生成树的算法,而Dijkstra算法是计算最短路径的算法。二者看起来比较类似,因为假设全部顶点的集合是V,已经...原创 2019-08-28 19:11:30 · 1170 阅读 · 0 评论 -
浙大数据结构: 06-图3 六度空间 (30 分) BFS与DFS方法
06-图3 六度空间 (30 分)“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多...原创 2019-08-27 14:14:15 · 514 阅读 · 0 评论 -
浙大数据结构:拯救007,06-图2 Saving James Bond - Easy Version (25 分)
06-图2 Saving James Bond - Easy Version (25 分)This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug ...原创 2019-08-26 22:24:12 · 411 阅读 · 0 评论 -
浙大数据结构学习:快速排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-17 19:29:15 · 305 阅读 · 0 评论 -
浙大数据结构:归并排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-16 21:40:00 · 243 阅读 · 0 评论 -
数据结构:冒泡排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-16 15:38:04 · 210 阅读 · 0 评论 -
浙大数据结构:08-图8 How Long Does It Take (25 分)
08-图8 How Long Does It Take (25 分)Given the relations of all the activities of a project, you are supposed to find the earliest completion time of the project.Input Specification:Each input file co...原创 2019-08-31 20:37:46 · 497 阅读 · 0 评论 -
浙大数据结构:08-图9 关键活动 (30 分)
08-图9 关键活动 (30 分)假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以...原创 2019-09-01 11:19:42 · 715 阅读 · 0 评论 -
浙大数据结构:08-图9 关键活动 (30 分)实验思考题
08-图9 关键活动 (30 分)实验思考题在数据结构的实验书上面有两个思考题比较有意思,摘录下来:(1)修改代码,使得关键活动的输出的顺序规则是,边的起点编号小者优先,起点编号相同时,与输入时边的顺序相同。(2)如果要求输出全部的关键路径,该如何修改代码?对于第一个问题,我自己想了主要有两种思路:1.采用把所有关键路径的边存到一个结构中,然后对这个结构里面的边进行统一的排序,可以按照次...原创 2019-09-01 16:18:53 · 538 阅读 · 0 评论 -
浙大数据结构:KMP 串的模式匹配 (25 分)
KMP 串的模式匹配 (25 分)给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出。如果找不到,则输出“Not Found”。本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下:数据0:小规模字符串,测试基本正确性;数据1:随机数据,String...原创 2019-09-04 16:55:55 · 1431 阅读 · 0 评论 -
浙大数据结构:还原二叉树
7-1 还原二叉树 (8 分)给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5代码这里还添加了把整...原创 2019-09-03 22:45:41 · 354 阅读 · 0 评论 -
浙大数据结构期末:7-1 还原二叉树 (8 分)
7-1 还原二叉树 (8 分)给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5代码#include...原创 2019-09-03 18:44:25 · 1010 阅读 · 1 评论 -
浙大数据结构:Dijkstra多条最短路径改良
普通的Dijkstra只能更新一个前驱节点和得到单源最短路径的距离。那么如果有多条最短路径的话,那么就需要增加一些判断。主要是在dist[V]+<V,W><?dist[W]这个判断失效后,增加一个if(dist[V]+<V,W>==dist[W])的判断即可;这个判断面向所有的V的邻接节点,不管是否已经被收入到最短路径的集合中。因为如果W是从V发展得到的,那么此时已...原创 2019-09-02 19:52:33 · 787 阅读 · 0 评论 -
浙大数据结构:11-散列4 Hashing - Hard Version (30 分)
11-散列4 Hashing - Hard Version (30 分)Given a hash table of size N, we can define a hash function H(x)=x%N. Suppose that the linear probing is used to solve collisions, we can easily obtain the status ...原创 2019-09-02 16:57:54 · 559 阅读 · 0 评论 -
浙大数据结构:10-排序6 Sort with Swap(0, i) (25 分)
10-排序6 Sort with Swap(0, i) (25 分)Given any permutation of the numbers {0, 1, 2,…, N−1}, it is easy to sort them in increasing order. But what if Swap(0, *) is the ONLY operation that is allowed to u...原创 2019-09-02 10:33:42 · 343 阅读 · 0 评论 -
浙大数据结构:10-排序5 PAT Judge (25 分)
10-排序5 PAT Judge (25 分)The ranklist of PAT is generated from the status list, which shows the scores of the submissions. This time you are supposed to generate the ranklist for PAT.Input Specificati...原创 2019-09-01 22:03:53 · 534 阅读 · 1 评论 -
浙大数据结构: 09-排序3 Insertion or Heap Sort (25 分)
09-排序3 Insertion or Heap Sort (25 分)According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort remo...原创 2019-09-01 18:41:30 · 437 阅读 · 0 评论 -
数据结构:希尔排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-16 15:09:22 · 506 阅读 · 0 评论 -
C++ 常用迭代器与容器笔记
1.double price[5]={1,2,3,4,5};for(double x:price) cout<<x;//ORfor(auto x:price) cout<<x;2.sort(begin,end);//[begin,end)copy(A.begin,A.end,B.pos);//[A.begin,A.end)->B[pos,...)要求B...原创 2019-08-21 14:50:42 · 186 阅读 · 0 评论 -
数据结构:选择排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:10^3个随机整数;数据4:10^4个随机整数;数据5:10^5个随机整数;数据6:10^5个顺序整数;数据7:10^5个逆序整数;数据...原创 2019-08-16 11:07:44 · 171 阅读 · 0 评论 -
07-图4 哈利·波特的考试 (25 分)
07-图4 哈利·波特的考试 (25 分)哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现...原创 2019-07-27 15:23:45 · 107 阅读 · 0 评论 -
06-图1 列出连通集 (25 分)
06-图1 列出连通集 (25 分)给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v...原创 2019-07-20 16:58:14 · 966 阅读 · 0 评论 -
struct和typedef struct彻底明白了
typedef struct OLNode{ int i,j; int data; OLNode *right,*down;}OLNode,OLink;//结构的对象OLNode, 指向结构的指针OLink,可以这样写struct OLNode{};OLNode OLNode, *OLink;分三块来讲述:1 首先://注意在C和C++里不同在C中定义一个结构体类型要用...转载 2019-07-19 14:54:27 · 98 阅读 · 0 评论 -
05-树7 堆中的路径 (25 分)
05-树7 堆中的路径 (25 分)将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,...原创 2019-07-18 16:46:06 · 352 阅读 · 0 评论 -
02-线性结构2 一元多项式的乘法与加法运算 (20 分)
02-线性结构2 一元多项式的乘法与加法运算 (20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应...原创 2019-07-06 11:17:34 · 104 阅读 · 0 评论 -
02-线性结构1 两个有序链表序列的合并 (15 分)
02-线性结构1 两个有序链表序列的合并 (15 分)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据...原创 2019-07-05 10:50:16 · 72 阅读 · 0 评论 -
01-复杂度3 二分查找 (20 分)
01-复杂度3 二分查找 (20 分)本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode List;struct LNode {ElementType Data[MAXSIZE];Posit...原创 2019-07-02 15:04:41 · 718 阅读 · 0 评论 -
typedef的用法,C语言typedef详解
typedef的用法,C语言typedef详解欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与...转载 2019-07-02 10:52:41 · 288 阅读 · 0 评论 -
浙大数据结构:表排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-18 16:42:38 · 193 阅读 · 0 评论 -
浙大数据结构:基数排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-19 16:20:52 · 251 阅读 · 0 评论 -
浙大数据结构:11-散列2 Hashing (25 分)
11-散列2 Hashing (25 分)The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function is defined...原创 2019-08-23 16:53:09 · 394 阅读 · 2 评论 -
数据结构:插入排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-16 10:54:25 · 379 阅读 · 0 评论 -
09-排序1 排序 (25 分) 数据结构:堆排序
09-排序1 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105...原创 2019-08-16 10:07:18 · 546 阅读 · 0 评论 -
浙大数据结构:编程练习 09-排序2 Insert or Merge (25 分)
09-排序2 Insert or Merge (25 分)According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one...原创 2019-08-21 10:12:28 · 227 阅读 · 0 评论 -
C++容器相关基本操作
从C++primer plus中,记录了C++容器的一些基本定义容器基本成员序列容器vector,list,queueset和map原创 2019-08-25 10:18:19 · 139 阅读 · 0 评论 -
10-排序4 统计工龄 (20 分)
10-排序4 统计工龄 (20 分)给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。输入格式:输入首先给出正整数N(≤105 ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。输出格式:按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。输入样例:810 2 0 5 7 2 5 2...原创 2019-08-20 21:55:33 · 148 阅读 · 0 评论 -
typedef 与函数指针/函数对象/函数符
https://stackoverflow.com/questions/1666353/are-typedef-and-define-the-same-in-c1.函数对象(c++primer plus P707)下面这个解释很重要!2.STL,Sort 函数对象,函数符相关转自 http://www.cplusplus.com/reference/algorithm/sort/?kw...原创 2019-08-24 19:03:28 · 135 阅读 · 0 评论