数据结构与算法python版
文章平均质量分 87
根据北京大学的数据结构与算法python版mooc整理的课堂和课后代码
坐在云朵上的kiwi
这个作者很懒,什么都没留下…
展开
-
数据结构与算法python版 MOOC 第十二周
十二、图及算法-下本系列博客基于“ (北京大学)数据结构与算法python版”慕课,课程在中国大学慕课和bilibili上均可找到。1. 内容深度优先搜索DFS算法图的应用:拓扑排序,强连通分支,最短路径,最小生成树,2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 先修课题目内容: 有 n 门课程要选,其编号分别由 0 至 n-1。每个课程都有一些需要提前学完的先修课程:例如,假设在学习课程 0 前需要先学习课程 1 ,我们用一个先修关系原创 2021-07-08 18:55:24 · 235 阅读 · 0 评论 -
数据结构与算法python版 MOOC 第十一周
十一、图及算法-上本系列博客基于“ (北京大学)数据结构与算法python版”慕课,课程在中国大学慕课和bilibili上均可找到。1. 内容图数据类型的实现图的应用:词梯问题广度优先搜索BFS算法及其应用(骑士周游问题)2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 找到小镇的法官题目内容: 在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么: 小镇的法官不相原创 2021-07-08 18:49:24 · 300 阅读 · 0 评论 -
数据结构与算法python版 MOOC 第十周
十、树及算法-下本系列博客基于“ (北京大学)数据结构与算法python版”慕课,课程在中国大学慕课和bilibili上均可找到。1. 内容二叉查找树的结构与操作 Binary Search Tree平衡二叉查找树AVL树的结构与操作2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 二叉查找树填空题目内容: 给定一个二叉树结构,与一个整数列表,请将整数填充至二叉树对应节点内,使其成为一个二叉查找树;请输出该二叉查找树的层次遍历。下图展示了给原创 2021-07-08 18:38:35 · 329 阅读 · 1 评论 -
数据结构与算法python版 MOOC 第九周
八、排序与查找-下1. 内容散列函数的定义和设计散列冲突的解决方法区块链技术2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 字符串中所有重排题目内容: 给定一个字符串s与待查找字符串p,请给出使得s[i: i+len ( p ) ]是p的一个字母重排的所有下标i。题目保证字符串p非空,且各字符串仅由小写字母构成输入格式: 两行字符串,第一行为s,第二行为p输出格式:所有满足条件的下标从小到大排列,以空格分隔输出。若无对应下标,则输出字原创 2021-07-08 18:23:10 · 342 阅读 · 4 评论 -
数据结构与算法python版 MOOC 第八周
八、排序与查找-下1. 内容顺序查找算法及分析对有序表的二分查找算法及分析冒泡排序和选择排序算法及分析插入排序算法及分析谢尔排序算法及分析(插入排序的进一步拓展)归并排序算法及分析快速排序算法及分析2. 课程代码在GitHub中下载不同查找和排序算法的复杂度3. OJ作业所有代码均可在github中下载3.1 快速排序主元题目内容: 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元(中值),通过交换,把比主元小的元素放到它的左边,比主原创 2021-07-07 22:52:09 · 480 阅读 · 1 评论 -
数据结构与算法python版 MOOC 第七周
七、排序与查找-上1. 内容顺序查找算法及分析对有序表的二分查找算法及分析冒泡排序和选择排序算法及分析插入排序算法及分析谢尔排序算法及分析(插入排序的进一步拓展)归并排序算法及分析快速排序算法及分析2. 课程代码在GitHub中下载不同查找和排序算法的复杂度3. OJ作业所有代码均可在github中下载3.1 快速排序主元题目内容: 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元(中值),通过交换,把比主元小的元素放到它的左边,比主原创 2021-07-06 23:08:28 · 275 阅读 · 2 评论 -
数据结构与算法python版 MOOC 第六周
六、递归-下1. 内容优化问题和贪心策略,找零问题找零问题递归解法动态规划:找零问题,博物馆大盗问题2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 铺瓷砖题目内容: 给定一个长度为N的区域,及4种不同长度的瓷砖:灰瓷砖(长为1格)、红瓷砖(长为2格)、绿瓷砖(长为3格)与蓝瓷砖(长为4格),求所有不同的铺满整个区域的方法数。 例如:当N=5时,共有15种铺满区域的方法,示意图如下:输入格式: 一个自然数N输出格式:一行数字,表原创 2021-07-06 22:42:28 · 310 阅读 · 0 评论 -
数据结构与算法python版 MOOC 第五周
四、递归-上1. 内容递归三定律:算法有一个基本结束条件,算法会改变状态向基本结束条件演化,算法需要调用自身递归的应用:任意进制转换,分形树,谢尔宾斯基三角形,汉诺塔,探索迷宫海龟作图介绍2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 进制转换题目内容: 给定一个M进制的数,请将其转换为N进制并输出输入格式: 两行,第一行为空格分隔的两个数字,分别为10进制表示的M与N;其中M, N均满足2 ≤ M、N ≤ 36。第二行为待转换的M进制原创 2021-07-06 20:09:54 · 225 阅读 · 0 评论 -
数据结构与算法python版 MOOC 第四周
四、基本线性结构-下1. 内容讲解队列的结构与性质,双端队列队列应用:击鼓传花,打印任务讲解无序表的结构与性质 list,无序表链表实现,有序表链表实现2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 有序队列题目内容: 一开始给出了一个由小写字母组成的字符串 S。我们规定每次移动中,选择最左侧的字母,将其从原位置移除,并加到字符串的末尾。这样的移动可以执行任意多次返回我们移动之后可以拥有的最小字符串(注:在Python3中,字符串的大小可原创 2021-07-06 19:00:21 · 276 阅读 · 0 评论 -
数据结构与算法python版 MOOC 第三周
三、基本线性结构1. 内容定义线性结构讲解栈的结构结构栈的应用:简单括号匹配,进制转换,表达式转换(前缀,中缀,后缀)2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。输入格式: 一行字符串输出格式:True或False,原创 2021-07-06 18:29:26 · 404 阅读 · 0 评论 -
数据结构与算法python版 MOOC 第二周
二、 算法分析1. 内容描述算法时间复杂度的方法—大O表示法。通过变位词判断问题的求解方法的分析,比较不同方法的复杂度。简要叙述python中一些数据类型介绍OJ系统2. 课程代码在GitHub中下载3. OJ作业所有代码均可在github中下载3.1 A/B问题给出两个整数,输出他们的商。可以使用以下语句实现整数n的输入: n=int(input())输入格式: 两行,每行一个整数输出格式: 输出一个数,即他们的商,保持小数点后3位(%.3f)如果除数为0,则输出:NA(两原创 2021-07-06 17:34:36 · 453 阅读 · 0 评论