自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (4)
  • 收藏
  • 关注

原创 08-图9 关键活动 (30分)

我的思路,正向以最短完成时间和入度为参数做一遍拓扑排序;逆向以最长完成时间和出度为参数完成一边拓扑排序。出现了几个问题:判定说多起点多种点判定有误,同时也有段错误;自己验证的时候,在完成第一遍拓扑排序之后,发现以邻接表存储的图,其表头的最后一个丢失了(比如有1~12个表头,做完一次拓扑排序之后,第12个就读不出来了…),一直未解决。#include #include typede

2015-11-09 22:53:13 2085

原创 08-图8 How Long Does It Take (25分)

简单的拓扑排序。基础思路是这样的,对每个节点,都有一个时间参数,用来记录从起始到这个节点总共所需的最短时间。由于规矩是只有把该节点所有的入度给做完了,才能执行这个节点。所以每个节点都是等于它的入度节点的以及路径权重相加的最大值。利用拓扑排序算法就可以做了。注意多起始节点和多终止节点怎么处理的问题。#include #include typedef struct _

2015-11-09 22:48:00 1088

原创 08-图7 公路村村通

最小生成树问题,直接用prim算法就好。关于prim算法和Dijkstra算法,真心超级像,dijkstra算法中,dis为节点到源点s的距离,所以在每次更新的时候都要把之前累加的距离与这次的权重相加;prim算法,dis指的是到树的最短距离,所以每次更新的时候,只要将权重写进去了。呃,写的清楚点,是这样 对dijkstra算法(假设s连着x1,x2,x1连着x3,x2连着x4),

2015-11-09 22:35:13 565

原创 07-图6 旅游规划

若没有价格这个选项,我们用来记录的table是这样的(注意,不是指保存数据的结构,而是用来记录的table)know    dispre                        在加了价格之后,会变成这样     knowdis      pre prix0                                                          

2015-11-09 22:27:36 631

原创 07-图5 Saving James Bond - Hard Version

这个题是hard版本的007逃亡,具体要求是,不仅要判断能不能让007逃出孤岛,还要输出最短的逃出路径。在简单版本中,利用深度优先或者广度优先都能进行判断,但若要输出最短的逃出路径,深度优先显然不合适了,因为它是一条道走到黑的…先来分析节点和路径,节点很明显,每一个鳄鱼,路径还是和简单版本的一样,能跳过去的就是一条路径。这里其实可以看出,每一条路径只有“存在”和“不存在”两种状态,整张

2015-11-09 22:19:04 1965

原创 07-图4 哈利·波特的考试

这道题,一看之下就是一个多源有权图求最小距离的题目。这么说吧,它这里要求对于任意一个起始点Ai,到距离它最远的点的距离Di;,然后在这K个Di中,找到一个最小的。(起点是Ai的最短路径的定义是这样的:求Ai到其他所有节点的最短路径→就是Ai到最远节点的最短路径)。认清了题目的本质之后,可以选择调用N次Dijkstra算法(K是Vertex数目),或者直接使用Floyd算法。因为我一

2015-10-31 10:30:29 739

原创 06-图3 六度空间

判断的时候超时了…= - 主题是一个BFS,有两个要点,在什么数遍历到的点,以及如何数层数。利用两个变量,tail和last。tail记录下一层的最后一个值,last记录这一层的最后一个值。当出队列的时候,若是该值等于last,层数即可自加一,并且让last=tail(上了一层了),tail的赋值则和每次的入队列一起即可。= - 居然超时了…明儿按照老师给的码一边试试。PS:第

2015-10-29 23:17:22 539

原创 06-图2 Saving James Bond - Easy Version

都说了是easy version了…主题是一个DFS,重点是看什么时候跳出。顺便说一句,这个题目中的图,由于点和点之间的边是在经历一定判断之后才建立的,所以可以直接用一个数组把这些点存了,不用在意当下他们的关系。后面根据给出条件看这个点是不是能够和另一个点连起来。#include #include #include #define R 15typedef struct _po

2015-10-29 23:13:49 444

原创 06-图1 列出连通集

这个其实主要也是熟悉一下图的一些基本操作,包括它的建立以及遍历。建立的话,可以用邻接矩阵或者邻接表法。前者适合稠密的图,后者适合稀疏的图。遍历的话,可以用深度优先搜索(DFS,需要递归,类比先序遍历),或者广度优先搜索(BFS,不用递归,类比层序遍历)这里因为需要按照顺序打印,所以要么用邻接矩阵,要么用邻接表(这个表不能是一般的链表了,而要是最小堆)。为了方便,现在使用邻接矩阵。#

2015-10-28 21:59:04 1583

原创 05-树9 Huffman Codes

这题目看起来挺大的,其实细细分析起来,主要是这么几个。首先,如何根据各个字符出现的频率,求出WPL;其次,如何比较学生的输入是否是正确的最优编码。对第一个问题,其实可以发现,在利用WPL最优算法构造Huffman Tree的时候,除了叶节点外的所有节点的频率之和就是WPL(证明略)。因此,只要写个最小堆,塞进去之后,拿出两个最小值来,求和,然后重复。只要把这些和都加起来,就是WPL了。

2015-10-28 21:38:27 2675 1

原创 05-树8 File Transfer

这个其实是利用集合的概念,利用一个一维数组来表示。数组的下标和元素对应,其中存储的值为各自的父亲的下标(正数)。若为负数,则表示这个节点是根,根所在节点的值的绝对值表示这棵树的总节点数。因此,连接时,找到两个元素各自的根节点,若相同就不管了,否则,将较小的树连到较大的树上(小树根节点的值等于大树的根节点的下标) 。 查找是否属于同一棵树,找到两个元素的根节点,比较即可。另外注意不在这个总的

2015-10-28 21:35:43 532

原创 05-树7 堆中的路径

这道题,唯一需要注意的就是,insert操作是需要从低向上过滤的。(Delete是从顶向下过滤的,虽然这里没有…#include #include typedef struct _prique{ int *p; int nowsize; int maxsize;}PriQue;void insert_maxque(PriQue *root,int record);//最大堆

2015-10-28 21:18:42 429

原创 04-树6 Complete Binary Search Tree 完全二叉搜索树

这道题大意是这样,输入N个不同的非负整数,需要将其按照二叉搜索树的规则,排成一个完全二叉树。二叉搜索树是指每个每个节点的所有左元素都比它小,右边都比它大;完全二叉树指的是,除了最后一层,其余每一层都满,最后一层从左往右排。 之后层序遍历,输出。一开始想法是,构造,然后输出。并不能码出来(水平不够)之后去查了别人的算法,又被别人的机智惊艳到了! 基本想法是这样,完全二叉树有这

2015-10-24 23:02:19 4640 2

原创 04-树5 二叉平衡树

这个题目的要点就是二叉平衡树,说白了就是让我们熟悉一下对二叉平衡树的操作。二叉平衡树就是在二叉树的基础上,需要满足每个节点的左子树和右子树的高度差不大于1.也就是说,一旦出现差为2(或者-2)的情况,就需要对树进行调整。一共有四种调整方法,单左旋转,单右旋转,双左右旋转以及双右左旋转。其中,后面两个双旋转可以由前面两个单旋转拼接而成。因此,树的每个节点都必须带有一个表示自身高度的参数(heig

2015-10-24 22:29:21 506

原创 04-树4 是否是同一棵二叉搜索树

在写这题的时候,一开始对输入和输入并不是很理解,自己写出来后,也各种报错,后来看了别人的程序才理解 输入 是包含了两次例子,一次是4个节点,判别2次,一次是2个节点,判别1次。Yes和No可以在待判别树输入后马上输出,不用放到最后一起输入。一开始看到这题,我的策略是比较笨的,把被判别树构造好之后,每次都去把待判别树构造一边,然后层序遍历两棵树,比较其结构。写出来之后,测试例子是正确的,

2015-10-24 22:14:40 1697

原创 初码代码的一点感想

在刷PAT题目的时候,遇到了一题是判断 两个二叉搜索树是否是同一棵树。一开始用的方法是最笨的,把两棵树都写出来,比较他们层序遍历之后的结果。测试了之后发现结果没问题,但是提交之后一直出现段错误= - 改了一天都改不掉= - bi狗了。后来网上学习了别人的方法,可以不用把第二棵树给写出来,只要在节点上加一个flag,比较时每次输入比较后,匹配的就把该位写1就好。anywa

2015-10-24 08:58:17 549

PRML 模式机器学习 马春鹏

带标签的PRML,诸位不要错过,马春鹏, 童叟无欺!

2018-09-30

opencv.2.4.13.zip

opencv2.4.13.3 安装流程:http://www.cnblogs.com/king-lps/p/7750438.html

2018-03-27

PCL的ICP方法DEMO

icp的demo,要在1.7版本跑

2016-04-25

patch for Octave 4.00 ML-Stanford

machine learning课程用Octave 4.0.0提交作业时遇到错误,需要打此补丁。 When you run the submit script, if you are seeing error messages that contain any of these phrases... urlread, curl, urlreadwrite, peer certificate, CA certificate, unsupported protocol, JSONparser ...here are some issues you can check. Are you using Octave 4.0.0? You will need to install this <patch>. Follow the instructions in the readme.txt file. Restart Octave after installing the patch. There is a bug in the printf() function, it will be fixed in Octave 4.0.1. The error "JSONparser:invalidFormat: Outer level structure must be an object or an array" error is caused by this bug. Post-installation test: cd to the 'lib' folder, enter this command: "makeValidFieldName('2')". If "ans = x0x32_", the patch was successful. Are you getting an error about "peer certificates"? You will need to install (this) patch if you are using Windows, or (this) this patch if you are using a linux-based operating system (including MacOS). Follow the instructions in the readme.txt file. Restart Octave after installing the patch.

2015-11-11

空空如也

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

TA关注的人

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