自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

翻译 Dijkstra算法

7-14 Dijkstra算法(模板) (30 分)给一个n(1 ≤ n ≤ 2500) 个点 m(1 ≤ m ≤ 6200) 条边的无向图,求 s 到 t 的最短路。输入格式:第一行四个由空格隔开的整数 n、m、s、t。之后的 m 行,每行三个正整数 s​i​​、t​i​​、w​i​​(1≤w​i​​≤10​9​​),表示一条从s​i​​ 到 t​i​​ 长度为 w​i​​ 的边。输出...

2018-12-30 00:17:48 1289

原创 部落

7-7 部落 (25 分)在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤10​4​​),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ⋯ P[...

2018-12-21 12:36:01 448

原创 7-12 碱基序列匹配 (25 分)

7-12 碱基序列匹配 (25 分)碱基序列匹配地理项目是IBM和国家地理学会的合作研究项目,从成千上万捐献的DNA分析地球上人类是如何繁衍的。作为一个IBM的研究人员,请你写一个程序找出给定的DNA片段之间的相同之处,使得对个体的调查相关联。一个DNA碱基序列是指把在分子中发现的氮基的序列给罗列出来。有四种氮基:腺嘌呤 (A)、胸腺嘧啶(T)、鸟嘌呤(G)和胞嘧啶(D),例如,一个6碱基DN...

2018-11-21 18:34:34 3095 2

翻译 浅谈数据仓库维度建模

浅谈数据仓库维度建模流程谈到Big Data就离不开数据仓库、数据集市等概念,而谈到数据仓库、数据集市,就又离不开数据仓库设计的方法,维度建模则是其中的典型。与维度建模相对立的则是范式建模,范式建模常用于传统的DB关系型数据库中。范式建模讲究三范式,讲究原子性,一致性,隔离性,持久性。讲究最小原子列不可再分,讲究消除部分依赖,y=f(x),y依赖于x,且x的任一真子集x’不满足对应唯一y。讲究消除传递依赖,当x---->y(y!------>x),z------>x(x!------&g

2021-08-22 21:22:54 1270 2

原创 算法-3B

算法-3B这章的重点在于动态规划。而动态规划和分而治之的很大区别就在于,分而治之我们是不想分出来的子问题有联系的,但如果实在子问题之间具有联系,我们一般用动态规划来解决。当然动态规划也不是万能的。动态规划的两个好处1,可以解决很多实际问题,所以学起来会很有成就感。2,动态规划的模板是有套路的,所以在竞赛中出现的比例远远高于它实际在算法中占的比例。动态规划-1...

2020-06-18 11:08:09 422

原创 算法-2B

算法-2B接之前的算法-2A,后的第四次大课分而治之——1在学完简单数据结构,贪心算法,减而治之后,我们来到了我们的分而治之章,这是算法里同样很重要的一个章节。这是分而治之的一个简单演示图,把一个规模为n的问题,分为两个规模为n/2的子问题,通常我们一般是分为两个子问题(当然具体问题具体分法),这两个子问题的规模合一定不能超过原问题,不然就越分越多了,通常两个子问题之间也尽量独立,不要有联系,如果两个子问题之间存在联系,可以考虑用我们后面学的动态规划来解题试试。提到了动态规划,就不得不提到主定

2020-06-17 13:39:05 497

原创 算法-2A

算法-2A接之前的算法-1A,1B后的第三次大课减而治之——1这节课邓老师主要讲解了Decrease-and-conquer的概念,也就是减而治之,注意这里的减是减除的减,而不是简化的简,意味着把一个问题减去一部分后,得到一个更小的问题,这样一步一步得到我们问题的最终解,我们减去的部分是我们不用关心的。如果说,我们把一个问题分为两部分,其中两部分都是我们应该所关心解决的问题的话,那么这个则...

2020-05-08 15:43:54 777

原创 队列

队列的实现实现代码:#include<bits/stdc++.h>using namespace std;const int N = 100005;string Queue[N];int head, tail;void enqueue(string name){ Queue[tail++] = name;}string dequeue(){ ...

2020-03-30 19:30:23 223

原创

栈的实现实现代码:#include<bits/stdc++.h>using namespace std;const int N = 100005;string Stack[N];int n, top;void push(string name){ Stack[++top] = name;}string pop(){ return Stack...

2020-03-30 18:43:50 207

转载 c语言如何输入输出string类型

一般C语言中输入字符串要么使用字符数组, 要么使用字符指针;但有时在C++中用到string类型,而为了节省程序运行过时间经常使用c中的标准输入输出scanf() 和 printf() ,但是c中没有string类型, 那么怎样输入输出字符出串类型呢?c++为了兼容c做出如下可行方法:#include<bits/stdc++.h>using namespace std;int ...

2020-03-30 18:28:08 12078 1

原创 算法-1B

续算法-1A后第二节课贪心(2)-1上次邓老师讲了一些基本数据结构和贪心思维,这次课主要还是贪心,但提出了很多新的算法及数据结构和解决方案。这是二叉搜索树,在我们要在一个集合里面找到我们想要的那个元素,遍历一遍无疑是最简单的方案,但像我们之前说的,达到目的的方式办法有很多种,但我们择优选取好的算法,这才是一个程序员应该有的思维,很明显遍历一遍的复杂度是n,但用二叉搜索树的复杂度降到了log...

2020-03-30 01:39:19 1089 2

原创 算法-1A

算法-1A博主有幸曾参加过清华邓俊辉老师的算法训练营第二期,花费了3000大洋,听取了邓老师的十节课,但当时正值暑假,博主意志力薄弱,未能跟着五周的高强度训练敲下去,课程也是事后慢慢观看录播补回来的,用邓老师的话来说就是:入宝山,却未能取得奇珍异宝归。现在想想很是懊悔,没有跟着敲习,只迷糊间听完了课程,但不得不感叹课程功效强大,哪怕听其一点也受益无穷,在随后的学校数据结构中博主考取了99,算是不...

2020-03-23 20:57:10 2383 4

原创 旅游规划

7-6 旅游规划 (25 分)有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公...

2018-12-30 22:59:47 543

原创 顶点的度

7-12 顶点的度 (20 分)顶点的图。给定一个有向图,输出各顶点的出度和入度。输入格式:输入文件中包含多个测试数据,每个测试数据描述了一个无权有向图。每个测试数据的第一行为两个正整数n 和m,1 ≤ n ≤ 100,1 ≤ m ≤ 500,分别表示该有向图的顶点数目和边数,顶点的序号从1 开始计起。接下来有m 行,每行为两个正整数,用空格隔开,分别表示一条边的起点和终点。每条边出现一次且...

2018-12-25 13:02:19 5677

原创 列出连通集

7-15 列出连通集 (25 分)给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0&lt;N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v​1...

2018-12-24 23:20:27 371

原创 并查集【模板】

7-13 并查集【模板】 (30 分)给出一个并查集,请完成合并和查询操作。输入格式:第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Z​i​​、X​i​​、Y​i​​。当Z​i​​=1时,将X​i​​与Y​i​​所在的集合合并。当Z​i​​=2时,输出X​i​​与Y​i​​是否在同一集合内,是的话输出Y;否则的话输出N。输出格式:对于每一个Z​i...

2018-12-22 14:32:59 1700

原创 哈夫曼树

7-11 哈夫曼树 (25 分)哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出哈夫曼树的带权路径长度(WPL)。输入格式:第一行输入一个数n,第二行输入n个叶结点(叶结点权值不超过1000,2&lt;=n&lt;=1000)。输出格式:在一行中输出WPL值。输入样例:51 2 2 5 ...

2018-12-21 12:48:23 1794

原创 重建二叉树

7-10 重建二叉树 (25 分)给定一棵二叉树的前序遍历和中序遍历的结果,求其后序遍历。输入格式:输入可能有多组,以EOF结束。 每组输入包含两个字符串,分别为树的前序遍历和中序遍历。每个字符串中只包含字母和数字且互不重复。输出格式:对于每组输入,用一行来输出它后序遍历的结果。输入样例:ABDC BDACABCD BADC输出样例:DBCABDCA上代码:#incl...

2018-12-21 12:46:46 290

原创 前序序列创建二叉树

7-9 前序序列创建二叉树 (25 分)编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以二叉链表存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,代表一棵空树。然后再对二叉树进行中序遍历,输出遍历结果。输入格式:多组测试数据,每组测试数据一行,该行只有一个字符串,长度不超过100。输出格式:对于每组数据,输出二叉树...

2018-12-21 12:44:37 7528 2

原创 快速排序

7-8 排序 (25 分)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:105个逆序整数;数据8:105个基本...

2018-12-21 12:38:10 270

原创 求二叉树的叶子结点个数

7-5 求二叉树的叶子结点个数 (20 分)以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数。输入格式:输入二叉树的先序序列。提示:一棵二叉树的先序序列是一个字符串,若字符是‘#’,表示该二叉树是空树,否则该字符是相应结点的数据元素。输出格式:输出有两行:第一行是二叉树的中序遍历序列;第二行是二叉树的叶子结点个数。输入样例:ABC##DE#G##F###输出样例:C...

2018-12-21 12:33:35 8217

原创 树的遍历

7-4 树的遍历 (25 分)给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7...

2018-12-21 12:31:34 1020

原创 玩转二叉树

7-3 玩转二叉树 (25 分)给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序...

2018-12-21 12:27:58 1446 1

原创 根据后序和中序遍历输出先序遍历

7-2 根据后序和中序遍历输出先序遍历 (25 分)本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder:以及该树的先序遍历结果。数字间有1个空格,行末不得有...

2018-12-21 12:23:02 1340

原创 还原二叉树

7-1 还原二叉树 (25 分)给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5上代码:#inc...

2018-12-21 12:19:27 861

原创 二叉树的前序遍历 (20 分)

给出一棵二叉树,返回该二叉树结点值的前序序列。你能用非递归方式完成么?函数接口定义:vector&lt;char&gt; preOrder_iter(BTNode* b); //前序遍历其中 b 为指向二叉树根结点的指针。裁判测试程序样例:#include &lt;bits/stdc++.h&gt;using namespace std;const int MaxSize = 5...

2018-11-28 01:26:38 1038

转载 6-2 二叉树的遍历 (25 分)

6-2 二叉树的遍历 (25 分)本题要求给定二叉树的4种遍历。函数接口定义:void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );void LevelorderTraversal( BinTree BT );其中B...

2018-11-22 01:47:04 5123 3

原创 6-1 求二叉树高度 (20 分)

6-1 求二叉树高度 (20 分)本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; ...

2018-11-22 01:30:38 3431

原创 6-4 Level-order Traversal (25 分)

6-4 Level-order Traversal (25 分)Write a routine to list out the nodes of a binary tree in “level-order”. List the root, then nodes at depth 1, followed by nodes at depth 2, and so on. You must do thi...

2018-11-22 01:16:50 559

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除