浙江大学 数据结构 思考题+每周练习答案汇总

全部每周作业和视频思考题答案和解析 见 浙江大学 数据结构 思考题+每周练习答案

MOOC上浙江大学的数据结构课程很不错,比较基础,而且通俗易懂,每周习题还都有点挑战性,这里打算将所有的题进行一下汇总。题目分为两个部分,一是课程中给出的思考题,二是每周的算法作业

对于思考题,除去那些一眼就能看出来答案的或者过于简单的问题,绝大部分题的解法思路都会放上来。对于每周的编程作业,本人将把答案全部给出,并附带思考过程和构建程序的过程

本系列最大的特点是从设计思路出发,一点一点构建程序,并把遇到的各种坑和障碍全部进行了记录,如果您在编程时遇到相同的错误,尤其是调试了N遍都不明白为什么还会出错的时候,可以从本系列中找到答案。

注意,虽然我给出的程序都是可以直接通过全部测试的,但限于本人能力,不一定是最完美的解决方案,如果想到更好的方法,我还会在程序里对其进行说明,读者可以根据自己的意愿进行修改。里面有不少题目也肯定有更多更优秀的方法,鉴于本人能力有限,很难找到所有解决思路中最好的解决方案。本人采用的解法都是与课程相关的,不会出现奇怪的难懂的解答技巧,所以学习过视频的读者可以很容易读懂。

另外需要注意的是,我在几乎全部代码的末尾都保留了 system("pause"); 函数,因为我发现浙大的这个编译器会自动帮你删除这个函数,所以你不用担心它会超时,带着它在Visual Studio上调试时不会执行完就直接闪退。

2020年4月8日:终于把图的算法题都做完了,真是又累又麻烦。

一、思考题部分

线性结构:(因为习题过于简单随便记录了几个)

后缀表达式计算加减乘除

出入栈问题

队列问题

树:(按顺序整理的)

树 思考题

树 思考题2

树 思考题3

树 思考题 4

树 思考题 5

树 思考题6

File Transfer算法

图:

图 思考题1

图 思考题2

图 思考题3

Dijkstra算法

Floyd算法

邻接表构造图用来实现DFS算法

图 思考题4

排序:

排序 思考题1

排序 思考题2

考试:

数据结构 期中考试

二、每周作业部分

第一周的编程作业:

最大子列和问题

Maximum Subsequence Sum 2004年浙江大学计算机专业考研复试真题

二分查找算法

第二周的编程作业:

线性结构1 两个有序链表序列的合并

线性结构2 一元多项式的乘法与加法运算

线性结构3 Reversing Linked List

线性结构4 Pop Sequence

第三周的编程作业:

树的同构

树2 List Leaves

树3 Tree Traversals Again

第四周的编程作业:

树4 是否同一棵二叉搜索树

树5 Root of AVL Tree

树6 Complete Binary Search Tree

树练习 二叉搜索树的操作集

第五周编程作业:

树7 堆中的路径

树8 File Transfer

树9 Huffman Codes

第六周编程作业:

图1 列出连通集

图2 Saving James Bond - Easy Version

图3 六度空间

第七周编程作业:

图4 哈利·波特的考试

图5 Saving James Bond - Hard Version

图6 旅游规划

第八周编程作业:

图7 公路村村通

图8 How Long Does It Take

图9 关键活动

第九周编程作业:

排序1 排序

发布了185 篇原创文章 · 获赞 418 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/tiao_god/article/details/104987342