数据结构
SakamataZ
目前担任广告引擎工程师~
展开
-
基础实验6-2.2 汉密尔顿回路 (25 分)【最后一个结点未通过】
基础实验6-2.2 汉密尔顿回路 (25 分)著名的“汉密尔顿(Hamilton)回路问题”是要找一个能遍历图中所有顶点的简单回路(即每个顶点只访问 1次)。本题就要求你判断任一给定的回路是否汉密尔顿回路。输入格式: 首先第一行给出两个正整数:无向图中顶点数 N(2<N≤200)和边数 M。随后 M 行,每行给出一条边的两个端点,格式为“顶点1顶点2”,其中顶点从 1 到N 编号。...原创 2019-09-24 11:20:54 · 630 阅读 · 0 评论 -
实例6.1 六度空间 (30 分)【图的遍历、BFS】
这两天一直在做交流,没怎么写代码,很可惜啊。从今天开始用英语写注释了,英语确实是很重要(英语渣表示solve the first question on stack overflow(捂脸实例6.1 六度空间 (30 分) “六度空间”理论又称作“六度分隔(Six Degrees ofSeparation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,...原创 2019-09-27 08:00:20 · 456 阅读 · 0 评论 -
案例7-1.1 模拟EXCEL排序 (25 分)【qsort 快排库函数调用】
国庆快乐!!!!!!!!!案例7-1.1 模拟EXCEL排序 (25 分) Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。输入格式: 输入的第一行包含两个正整数N(≤10 5 ) 和C,其中N是纪录的条数,C是指定排序的列号。之后有N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,保证没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩([0...原创 2019-10-01 20:11:26 · 1298 阅读 · 0 评论 -
案例7-1.2 插入排序还是归并排序 (25 分)
根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法...原创 2019-10-01 23:01:41 · 2587 阅读 · 0 评论 -
案例6-1.4 地下迷宫探索 (30 分)
案例6-1.4 地下迷宫探索 (30 分)地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式。地道网是房连房、街连街、村连村的地下工事,如下图所示。我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智。在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏。本实验案例以探索地下通道迷宫作为内容。假设有一个地下通道迷宫,它的通道都是...原创 2019-09-19 11:47:49 · 882 阅读 · 0 评论 -
PTA练习6.1 6.2【图】邻接矩阵存储图的深度优先遍历和邻接表存储图的广度优先遍历(Depth First Search and Breath First Search)
最近学习了图的存储和遍历,DFS借助递归(或者循环)进行,BFS的重要特点就是要存储节点数据,而且先入者先出,要借助队列进行。6.1#include <stdio.h>typedef enum {false, true} bool;#define MaxVertexNum 10 /* 最大顶点数设为10 */#define INFINITY 65535 /* ∞设为双...原创 2019-09-17 21:10:38 · 1465 阅读 · 0 评论 -
基础实验4-2.7 修理牧场 (25 分)【哈夫曼树的构建】
农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li 的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为...原创 2019-09-15 23:30:19 · 2007 阅读 · 0 评论 -
难※基础实验4-2.4 搜索树判断 (25 分)
题目:对于二叉搜索树,我们规定任一结点的左子树仅包含严格小于该结点的键值,而其右子树包含大于或等于该结点的键值。如果我们交换每个节点的左子树和右子树,得到的树叫做镜像二叉搜索树。现在我们给出一个整数键值序列,请编写程序判断该序列是否为某棵二叉搜索树或某镜像二叉搜索树的前序遍历序列,如果是,则输出对应二叉树的后序遍历序列。输入格式:输入的第一行包含一个正整数N(≤1000),第二行包含N个整...原创 2019-09-14 22:34:59 · 656 阅读 · 0 评论 -
基础实验4-2.2 List Leaves列出叶结点 (25 分)【层次遍历】
一个星期前做这道List Leaves总是不能实现层次遍历,回过头看mooc才知道是用队列实现的。即便是我在线性结构——线性表、堆栈、队列那里做了一些练习,结果到这里还是不能正确选用模型,所以还是要多看实例,多加思考运用才行。AC代码:#include <iostream>#include<string>#define MAXSIZE 10#define NUL...原创 2019-09-14 09:13:13 · 762 阅读 · 0 评论 -
案例7-1.3 寻找大富翁 (25 分)【快排、最大堆、最小堆】
案例7-1.3 寻找大富翁 (25 分) 胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。输入格式: 输入首先给出两个正整数N(≤10 6 )和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔...原创 2019-10-02 11:06:21 · 2489 阅读 · 0 评论