数据结构
喜欢ctrl的cxk
跪求大佬们别DDOS tanyaodan. com
展开
-
【蓝桥杯】ALGO-5 最短路
题目描述:给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入描述:第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。(1 <= n <= 20000,1 <= m <= 200000,-10000 <= l <= 1000...原创 2019-11-07 20:29:56 · 383 阅读 · 0 评论 -
二叉树的公共父结点
题目描述:1/\23/\/\4567/\/\/\/\如上图所示,由正整数 1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从5到根结点的路径是(5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1...原创 2019-01-09 15:58:43 · 2707 阅读 · 0 评论 -
是否为同一二叉搜索树
题目描述:判断两序列是否为同一二叉搜索树序列输入描述:开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。输出描述:如果序...原创 2019-01-09 17:06:09 · 2246 阅读 · 0 评论 -
根据先序和中序输出后序遍历
题目描述:二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入描述:两个字符串,其长...原创 2019-01-09 20:51:23 · 4897 阅读 · 2 评论 -
二叉排序树
题目描述:输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入描述:输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入中可能有重复元素,但是输出的二...原创 2019-01-09 21:34:03 · 2053 阅读 · 0 评论 -
【PAT乙级】反转链表
题目描述:给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为 1→2→3→4→5→6,K为 3,则输出应该为 3→2→1→6→5→4;如果K为 4,则输出应该为 4→3→2→1→5→6,即最后不到K个元素不反转。输入描述:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数N(≤10...原创 2018-12-09 09:47:58 · 2226 阅读 · 0 评论 -
【PAT乙级】数组元素循环右移问题
题目描述:一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由()变换为()(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在...原创 2018-12-06 21:33:42 · 2187 阅读 · 0 评论 -
回文字符串
题目描述:给出一个长度不超过1000的字符串,判断它是不是回文字符串(顺读,逆读均相同)的。输入描述:输入包括一行字符串,其长度不超过1000。输出描述:可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。输入示例:hellollehhelloworld输出示例:Yes!No!解题思路:直接无脑revers...原创 2018-10-24 14:46:31 · 2371 阅读 · 0 评论 -
【GPLT】L1-050 倒数第N个字符串
题目描述:给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。...原创 2019-03-12 21:30:01 · 2212 阅读 · 1 评论 -
根据先序和中序求出二叉树的高度
题目描述:给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5AC代码:...原创 2019-01-09 15:07:19 · 11962 阅读 · 4 评论 -
HBU月考 冒泡法排序(30 分)
题目描述:将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出...原创 2019-01-02 16:47:27 · 1307 阅读 · 0 评论 -
HBU月考 二分查找(20分)
题目描述:利用二分查找找出所给出的数在数组中的下标。输入格式:第一行输入n和m表示数组有n个数据,m表示要对m个数进行查找。输出格式:所有输出在一行完成,行末没有多余空格和多余回车。输入样例:5 51 2 3 4 51 2 3 4 5输出样例:0 1 2 3 4解题思路:我先用Python写的二分查找算法,提交代码之后直接运行超时。然后我用C++...原创 2019-01-02 16:40:41 · 3638 阅读 · 1 评论 -
Python算法 二分查找
算法描述:二分查找(Binary Search),也被称为折半查找,是在一个有序数组中查找特定元素位置的查找算法。二分查找要求查找序列必须采用顺序存储,且表中元素按关键字有序排列。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步...原创 2018-12-14 01:03:00 · 1961 阅读 · 0 评论 -
校园导航问题
【问题描述】以我校为例,设计一个校园导航系统,主要为来访的客人提供信息查询。系统有两类登陆账号,一类是游客,使用该系统方便校内路线查询;一类是管理员,可以使用该系统查询校内路线,可对校园景点路线可编辑。【需求分析】设计学校的平面图,至少包括10个以上景点(场所),每两个景点间可以有不同道路,且路长也可能不同,找出在游人所在景点到其他景点的最短路径,或游人输入的任意两个景点的最短路径。...原创 2018-12-26 19:24:57 · 10043 阅读 · 11 评论 -
HBU-DS2018SY-1-1 数组循环左移 (20 分)
题目描述:本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(m≥0)个位置,即将a中的数据由(⋯)变换为(⋯⋯)(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:输入第1行给出正整数n(≤100)和整数m(m≥0...原创 2018-12-26 19:49:08 · 3042 阅读 · 0 评论 -
24点游戏算法 (无脑递归暴力破解)
题目描述问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利输入:4个1-10的数字。[数字允许重复,但每个数字仅允许使用一次,测试用例保证无异常数字]输出:true or false输入描述:输入4个int整数输出描述:返回能否得到24点,能输出true,不能输出false输入样例:7 2 1 10输出样例:true解题思路:...原创 2018-12-28 11:12:27 · 5435 阅读 · 0 评论 -
根据后序和中序遍历输出先序遍历
题目描述:本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder:以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。输入样例:7...原创 2018-12-28 20:30:41 · 6824 阅读 · 1 评论 -
水题 求众数 (hash的练习)
题目描述:输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。输入描述:测试数据有多组,每组输入20个1-10之间的数。输出描述:对于每组输入,请输出1-10中的众数。输入样例:5 1 5 10 3 5 3 4 8 6 8 3 6 5 10 7 10 2 6 2 输出样例:5...原创 2018-12-29 14:20:44 · 2359 阅读 · 2 评论 -
【PAT乙级】快速排序
题目描述:著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 $N = 5$, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管 3 的左边元素都...原创 2018-12-24 20:52:22 · 2015 阅读 · 0 评论 -
【GPLT】L2-019 悄悄关注
题目描述:新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。输入描述:输入首先在第一行给出某用户的关注列表,格式如下:人数N 用户1 用户2 …… 用户N其中N是不超过5000的正整数,每个用户i(i=...原创 2018-12-24 20:59:02 · 2141 阅读 · 0 评论 -
求哈夫曼树的权值
题目描述:哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入描述:输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。输出描述:输出权值。输入样例:5 1 2 2 5 9...原创 2019-01-04 17:16:09 · 16394 阅读 · 0 评论