
数据结构与算法(Python版)
文章平均质量分 64
Divine0
这个作者很懒,什么都没留下…
展开
-
数据结构与算法Python版期末在线考试OJ部分
1 二叉树路径(10分)题目内容:给定一个二叉查找树的节点插入顺序,请重新构建这个二叉查找树,并按从左至右顺序返回所有根节点至叶节点的路径输入格式:一行整数,以空格分隔注:测试用例中不包含重复的数字输出格式:按照叶节点由左至右顺序,以“根节点值->节点值->…->叶节点值”输出每条路径,每行输出一条输入样例:5 2 6 1 3 7 4输出样例:5->2->15->2->3->45->6->7注:对应的二叉查找树如下图:原创 2020-05-27 15:20:45 · 2082 阅读 · 0 评论 -
数据结构与算法Python版第十二周OJ作业
1 先修课(10分)题目内容:有 n 门课程要选,其编号分别由 0 至 n-1每个课程都有一些需要提前学完的先修课程:例如,假设在学习课程 0 前需要先学习课程 1 ,我们用一个先修关系对[0, 1]来表示这种 “后学习课程,先修课程” 的关系现给定一系列课程与若干先修关系,请判断是否存在一个方案可以学完所有课程输入格式:输入分为两行,第一行为一个整数,表示课程的总数第二行为一个嵌套列表的Python表达式,包含若干先修关系对输出格式:True或False,表示是否存在一个按照先修关系学完原创 2020-05-09 01:07:49 · 1539 阅读 · 0 评论 -
数据结构与算法Python版第十一周OJ作业
1 找到小镇的法官(10分)题目内容:在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足属性 1 和属性 2 。给定列表 trust,该列表由信任对 trust[i] = [a, b] 组成,表示标记为 a 的人信任标记为 b...原创 2020-05-02 00:55:08 · 1547 阅读 · 0 评论 -
数据结构与算法Python版第十周OJ作业
1 二叉查找树填空(10分)题目内容:给定一个二叉树结构,与一个整数列表,请将整数填充至二叉树对应节点内,使其成为一个二叉查找树;请输出该二叉查找树的层次遍历。下图展示了给定样例对应的二叉树结构:输入格式:每个测试样例第一行包含一个整数,为二叉树的节点总数N。随后N行分别给定了编号由0至(N-1)的节点的左右子树编号,以空格分隔;若编号-1则代表对应子树为空。最后一行给出了以空格分隔的N...原创 2020-04-25 01:51:19 · 2411 阅读 · 2 评论 -
数据结构与算法Python版第九周OJ作业
1 二叉树复原(10分)题目内容:给定一种序列化二叉树的方式:从根节点起始按层次遍历二叉树所有“可能”存在节点的位置:若该位置存在节点,则输出节点值,并在下一层相应增加两个可用位置;否则输出None,且不增加下一层的可用位置。例如"[5, 4, 7, 3, None, 2, None, -1, None, 9]"是下图所示的二叉树序列化的结果:其中红色箭头对所有的None进行了标记。现...原创 2020-04-21 02:55:02 · 1562 阅读 · 6 评论 -
数据结构与算法Python版第八周OJ作业
1 字符串中所有重排(10分)题目内容:给定一个字符串s与待查找字符串p,请给出使得s[i:i+len§]是p的一个字母重排的所有下标i题目保证字符串p非空输入格式:两行字符串,第一行为s,第二行为p输出格式:所有满足条件的下标从小到大排列,以空格分隔输出若无对应下标,则输出"none"输入样例:cbaebabacdabc输出样例:0 6解题思路:将待查找字符串p和s...原创 2020-04-11 17:22:31 · 1667 阅读 · 1 评论 -
快速幂算法的时间复杂度分析
以下是一个快速幂算法:def pow(x, n): if n==0: return 1 elif n==1: return x elif n%2==0: return pow(x*x, n//2) else: return pow(x*x, n//2)*x问它对于n的大O级别。A.O(nlog n)B.O(n...原创 2020-03-14 15:57:35 · 5075 阅读 · 3 评论 -
常见查找排序算法的Python实现及时间复杂度分析
一、顺序查找算法及分析顺序查找(Sequential Search):要确定列表中是否存在需要查找的数据项,首先从列表的第1个数据项开始,按照下标增长的顺序,逐个比对数据项,如果到最后一个都未发现要查找的项,那么查找失败程序代码:无序表查找代码:def sequentialSearch(alist, item): pos = 0 found = False ...原创 2020-04-05 22:00:15 · 1266 阅读 · 2 评论 -
Python中list和dict的in操作的区别
文章目录Python中List和Dict基本操作的时间复杂度表ListDictList和Dict的in操作对比Python中List和Dict基本操作的时间复杂度表List操作操作说明时间复杂度index(value)查找list某个元素的索引O(1)a = index(value)索引赋值O(1)append(value)队尾添加O(1)...原创 2020-03-13 02:50:14 · 1617 阅读 · 0 评论 -
从C转换到Python
从C转换到Python从Hello World开始C : Hello World!Python : Hello World!帮高斯的同学回家检验素数打印一个朴素的三角形进一步洗白从Hello World开始C : Hello World!#include <stdio.h>int main(){ // say hello printf("Hello Worl...原创 2020-03-11 19:30:00 · 3101 阅读 · 0 评论 -
数据结构与算法Python版第七周OJ作业
1 快速排序主元(10分)题目内容:著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元(中值),通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定的排列是[1, 3, 2, 4, 5]。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元;尽...原创 2020-04-03 23:58:16 · 1518 阅读 · 0 评论 -
数据结构与算法Python版第六周OJ作业
1 铺瓷砖(10分)题目内容:给定一个长度为N的区域,及4种不同长度的瓷砖:灰瓷砖(长为1格)、红瓷砖(长为2格)、绿瓷砖(长为3格)与蓝瓷砖(长为4格),求所有不同的铺满整个区域的方法数。例如:当N=5时,共有15种铺满区域的方法,示意图如下:输入格式:一个自然数N输出格式:一行数字,表示不同的方法总数输入样例:5输出样例:15解题思路:和找零钱的思想类似,铺满长度为...原创 2020-03-29 23:22:51 · 2544 阅读 · 3 评论 -
数据结构与算法Python版第五周OJ作业
1 进制转换(10分)题目内容:给定一个M进制的数,请将其转换为N进制并输出输入格式:两行,第一行为空格分隔的两个数字,分别为10进制表示的M与N;其中M, N均满足2 ≤ M、N ≤ 36第二行为待转换的数字,其中每位超过9的部分从10至36分别用大写字母A-Z表示;输入数据保证其中最大位数对应数字不超过M输出格式:一行字符串,表示转换后的N进制数输入样例:8 16473...原创 2020-03-22 20:55:09 · 1082 阅读 · 0 评论 -
数据结构与算法Python版第四周OJ作业
1 有序队列(10分)题目内容:一开始给出了一个由小写字母组成的字符串 S。我们规定每次移动中,选择最左侧的字母,将其从原位置移除,并加到字符串的末尾。这样的移动可以执行任意多次返回我们移动之后可以拥有的最小字符串(注:在Python3中,字符串的大小可用不等号比较)。输入格式:S。S为仅含有小写字母的字符串,长度不超过100000。输出格式:一个与S等长的字符串。输入样例:“c...原创 2020-03-19 17:20:51 · 2293 阅读 · 2 评论 -
数据结构与算法Python版第三周OJ作业
1 有效的括号(10分)题目内容:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。输入格式:一行字符串输出格式:True或False,表示该输入是否为合法括号串输入样例:([])输出样例:True解...原创 2020-03-19 16:53:15 · 1368 阅读 · 0 评论