数据结构与算法MOOC
Cousera上北大信息学院《数据结构与算法》课程的课后练习题,共86道栏主在此分享自己的C++解法。
如雨星空
推荐系统在读研究生
展开
-
二叉树--由中序遍历和后续遍历重建二叉树
题目:传送门 描述 我们知道如何按照三种深度优先次序来周游一棵二叉树,来得到中根序> 列、前根序列和后根序列。反过来,如果给定二叉树的中根序列和后根> 序列,或者给定中根序列和前根序列,可以重建一二叉树。本题输入一> 棵二叉树的中根序列和后根序列,要求在内存中重建二叉树,最后输出> 这棵二叉树的前根序列。 用不同的整数来唯一标识二叉树的每一个结点,下面的二叉树 中原创 2017-12-07 23:40:06 · 1273 阅读 · 0 评论 -
二叉树--利用二叉树特性求解--Binary Tree
传送门:Binary Tree========================================================总时间限制: 1000ms 内存限制: 65536kB描述BackgroundBinary trees are a common data structure in computer science. In this problem we will look...原创 2018-01-15 21:17:08 · 320 阅读 · 0 评论 -
二叉树--字典树应用--Hardwood Species
传送门:Hardwood Species 总时间限制: 10000ms 内存限制: 65536kB 描述 Hardwoods are the botanical group of trees that have broad leaves, produce a fruit or nut, and generally go dormant in the winter. ...原创 2018-03-06 23:14:30 · 1041 阅读 · 1 评论 -
二叉树--文本二叉树
传送门:Binary Tree in Text Description As the diagramshown above, every node is represented by a letter in the binary tree and theletters are different from each other. It can be represented below...原创 2018-04-10 21:53:59 · 1032 阅读 · 1 评论 -
二叉树--由前序遍历和中序遍历建树
传送门:Tree Recovery题目 8:Tree Recovery 总Time Limit: 1000ms Memory Limit: 65536kB Description Little Valentine liked playing with binary trees very much. Her favorite game was con...原创 2018-01-15 20:10:02 · 1550 阅读 · 0 评论 -
二叉树--二叉搜索树
超链接:二叉搜索树总Time Limit: 1000ms Memory Limit: 1024kBDescription 二叉搜索树在动态查表中有特别的用处,一个无序序列可以通过构造一棵二叉搜索树变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。每次插入的新的结点都是二叉搜索树上新的叶子结点,在进行插入操作时,不必移动其它结点,只需改动某个结点的指针,原创 2017-12-27 22:00:22 · 947 阅读 · 0 评论 -
二叉树--Huffman编码树--优先队列解法
超链接:Huffman编码树总时间限制: 1000ms 内存限制: 65535kB描述构造一个具有n个外部节点的扩充二叉树,每个外部节点Ki有一个Wi对应,作为该外部节点的权。使得这个扩充二叉树的叶节点带权外部路径长度总和最小: Min( W1 * L1 + W2 * L2 + W3原创 2017-12-27 20:17:29 · 652 阅读 · 0 评论 -
二叉树--Sequence--利用优先队列贪心求解最优匹配
超链接:SequenceDescription给定m个数字序列,每个序列包含n个非负整数。我们从每一个序列中选取一个数字组成一个新的序列,显然一共可以构造出n^m个新序列。接下来我们对每一个新的序列中的数字进行求和,一共会得到n^m个和,请找出最小的n个和Input输入的第一行是一个整数T,表示测试用例的数量,接下来是T个测试用例的输入每个测试用例输入的第一原创 2017-12-26 23:10:32 · 1956 阅读 · 0 评论 -
二叉树--求二叉树的深度
传送门:二叉树的深度题目:总Time Limit: 1000ms Memory Limit: 65535kBDescription给定一棵二叉树,求该二叉树的深度二叉树深度定义:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的节点个数为树的深度Input第一行是一个整数n,表示二叉树的结点个数。二叉树结点编号从1原创 2017-12-26 19:14:11 · 1373 阅读 · 0 评论 -
二叉树--二叉树节点交换和前驱查询
链接:二叉树的操作题目:总Time Limit: 1000ms Memory Limit: 65535kBDescription给定一棵二叉树,在二叉树上执行两个操作:1. 节点交换把二叉树的两个节点交换。2. 前驱询问询问二叉树的一个节点对应的子树最左边的节点。Input第一行输出一个整数t(t 对于每组测试数据,第一行原创 2017-12-25 21:25:51 · 1500 阅读 · 0 评论 -
二叉树--堆的实现
题目: Heapsort implementation(堆实现)总Time Limit: 3000ms Memory Limit: 65535kBDescriptionGiven a Array, initially empty, with twokinds of operations:1. Add an element, insert a new elementinto the array.2....原创 2017-12-24 23:06:02 · 847 阅读 · 0 评论