自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

堆放杂物

不知道啊不知道…

  • 博客(11)
  • 收藏
  • 关注

原创 数据结构与算法B代码编写作业,树的转换,解题报告&AC代码

这道题大体思路是:根据一棵树的深度优先遍历过程直接用左孩子右兄弟方法构造二叉树,再求出二叉树的深度。所以这个问题被分成了两部分:根据一棵树的深度优先遍历过程直接用左孩子右兄弟方法构造二叉树;求一棵给定二叉树的深度。后面那个问题显然更简单(好吧其实是非常简单),我们先来处理它。查找一棵树的深度的递归计算方法比较显然:一棵树的深度=(它的所有子树深度的最大值+1),而外部节点(即树叶的不存

2013-10-30 23:37:42 1617

原创 数据结构与算法B代码编写作业,电话号码,解题报告&AC代码

这道题的思路来自同宿舍的一只大神琨哥,简单来说就是用“十叉树”存储所有电话号码,边存储边查重。我们用“十叉树”从第1层开始(认为根节点是0层)存储字符串,第i层存储字符串的第i位。这样就有一个比较直观的前缀判断规则:如果一个字符串A是另一个字符串B的前缀,那么它的末尾一位必然在由B构成的路径中。程序要做的就是标记每一个这样的“尾巴”如果发现有“尾巴”在另一个字符串的路径中或者两个尾巴重合了(就

2013-10-30 22:12:21 1425

原创 数据结构与算法B代码编写作业,Huffman编码树,解题报告&AC代码

又来写解题报告了,这道题相比于前两道来说都要简单一些。Huffman树的生成办法很简单:从指定节点堆中选出最小的两个节点作为左右子树,它们的和为父节点,将父节点加入节点堆,从节点堆中删除子树的节点。程序的实现就是模拟上面的过程生成这棵二叉树。其中要注意的一点就是如何选出最小的两个节点:我这里使用了C++中STL的Priority_Queue,这是一个现成的顺序队列,好用、省时。就说

2013-10-28 21:49:25 1748

原创 数据结构与算法B代码编写作业,由中根序列和后根序列重建二叉树,解题报告&AC代码

好久没有一遍A题过了…截张图炫耀一下……表达式树那道题没有写解题报告是因为当时A的时候已经不会再爱了,其他题还是滚回来写解题报告吧= =这道题我依然用了中规中矩的办法:输入数据 -> 建立二叉树 -> 前序遍历输出当然有很多不需要建树就能解决的方法,这里既然是数据结构练习,就不提那些办法了(机智的大胖用了机智的办法然后WA了= =)首先了解一些关于遍历的性质:1.一棵二叉树

2013-10-28 15:58:25 3358

原创 数据结构与算法B代码编写作业,表达式·表达式树·表达式求值,AC代码&注释

现在处于刚刚A题身心俱疲的状态…解题报告什么的实在是写不动了…从这篇文章开始将没有解题报告,只有附有详细注释的代码。另外…这里的代码只是一个思路的参考,同学们还是要自己写的啊=___=(当然真实情况是)为了防止被助教同志查出代码重复而请我喝茶…小伙伴们一定不要直接把我的代码交给DSB……所以代码在下面……/*ID: Moien_PodieneLANG: C++*/

2013-10-26 22:19:24 1285 2

原创 数据结构与算法B代码编写作业,表达式·表达式树·表达式求值,AC代码&注释

现在处于刚刚A题身心俱疲的状态…解题报告什么的实在是写不动了…从这篇文章开始将没有解题报告,只有附有详细注释的代码。另外…这里的代码只是一个思路的参考,同学们还是要

2013-10-26 22:11:45 255

原创 数据结构与算法B作业三,栈与队列

继续做题……Question 1栈的特点包括先进先出后进后出先进后出后进先出没啥说的,最后两项Question 2队列的特点包括先进先出后进先出后进后出先进后出还是没啥说的,第一、第三项Question 3依次读入数据元素序列{a,b,c,d,e,f,g} 进栈,每进一个

2013-10-04 21:35:00 668 1

原创 数据结构与算法B代码编写作业,stack or queue,解题报告&AC代码

这道题有很多机智的解决方法…我这一种基本上是最麻烦的…麻烦是因为要练练手…好久没写队列和栈了有点生疏= =思路很简单,模拟出栈和队列,然后看看哪个不符合,就搞定了……AC代码如下…果然生疏了啊…队列写的有点问题导致RE了很多次,最后又因为把Queue写成Quene结果WA了两次…命途多舛……#include using namespace std;templat

2013-10-04 21:32:02 1421 1

原创 数据结构与算法B代码编写作业,栈的基本操作,解题报告&AC代码

唔…这道题如果要强行用数组做也很简单…不过既然要小伙伴们练一练栈这货怎么用,那就老老实实地栈着吧……广告一枚…第一次尝试边边写代码…感觉还可以……回归正题,关于栈的定义,不外乎这些元素:数据存储空间,栈内元素标记以及操作函数。一个比较简明的定义如下面:template class myStack{public: myStack(int x);

2013-10-04 17:29:34 1976

原创 数据结构与算法B代码编写作业,位查询,解题报告&AC代码

终于回来了,继续写解题报告。这道题唯一的难点在于如何判断第i位是不是1,这一点可以用位运算实现。对于一个2进制数(我们举个栗子,比如11100101),当我们想查询它第i位(最低位是0)的值时,可以将它右移i位,模2即可。查询11100101的第3位,右移3位变成00011100,模2为0,即第三位数字为0。伪代码如下://num:待检测数字;i:查询位数cout >

2013-10-04 16:48:03 1560 4

数据结构与算法B代码编写作业,位查询,解题报告&AC代码

终于回来了,继续写解题报告。这道题唯一的难点在于

2013-10-04 14:07:58 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除