- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 ROS安装
一、历史 随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人研究领域展开了学习和使用ROS的热潮。 ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公司Willow Gar
2015-12-30 13:46:38 436
原创 1035. 插入与归并(25)
1035. 插入与归并(25)根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判
2015-12-23 10:42:14 440
原创 排序算法5之快速排序
快速排序很早就听说了快速排序的大名,然后看算法导论的相关视频也感觉讲的很有意思,现在总结一下。针对待排序数组{a1,a2……an}\{{a_1,a_2……a_n}\}快速排序可以分解为三步:寻找基准数,比较通常就是选择待排序的首项目或者中间项目;将待排序数组分成两个子序列,{b1,b2……bq−1}\{{b_1,b_2……b_{q-1}}\}和{cq+1,……cn}\{{c_{q+1},……c_
2015-12-22 20:59:52 475
原创 排序算法4之归并排序
归并排序归并排序是建立在归并操作上的一种排序算法,该算法采用分治的思想(divide and conquer)。就是先将序列进行分裂成一个个子序列,使得每个子序列都是有序的,然后再将所有的子序列整合成一个完整的序列。所以整个算法分为两部分,分裂和合并。分裂比较简单,最容易想到的就是折半分解,直至每个子序列是一个单独的数为止。合并就可能麻烦一点。合并 假设存在两个已经排列好的子序列{a1,a2,a3
2015-12-21 19:45:31 571
原创 排序算法3之选择排序
选择排序选择排序的原理比较简单,每次遍历待排序数组,找到关键字最小的项目,将其放置在已经排序好的序列最后面,直至所有的项目都排序完全。所以选择排序的时间复杂度主要是来自遍历查询,相比于插入排序,需要不断的交换项目的位置,选择排序每次至多交换一次。其时间复杂度为Ω(n2)\Omega(n^2);空间复杂度,为Ω(n)\Omega(n);由于每次交换位置的时候,将会打乱原来项目的相对位置,因而选择排序是
2015-12-21 16:41:33 378
原创 排序算法2之冒泡排序
冒泡排序冒泡排序原理很简单,实现也不难。作为一篇文章来写,确实有点不好意思,但是本人有着强迫症,所以还是单列一篇来总结冒泡排序。所谓冒泡,也可以理解为沉石子。前者就是形容排序的时候,每次将关键字最小的项目放到最前面,后者就是每次将关键字最大的项目放到最前面。所得到的结果一个是升序排列,一个是降序排列。冒泡排序是的时间复杂度Ω(n2)\Omega(n^2),空间复杂度Ω(n)\Omega(n),同时根
2015-12-20 22:20:27 356
原创 排序算法1之插入排序
插入排序排序算法作为互联网找工作的必考的问题,现在得补补了。之前对排序算法有一些了解,有些排序算法看起来比较简单,但是真要自己手写code也不是那么容易的。所以纸上得来终觉浅,绝知此事要躬行。算法的三个特性时间效率,一般情况,当然希望排序算法越快越好。一般排序算法能达到Ω(n)\Omega(n)的时间复杂度就已经非常好了 。空间效率,受限于计算机的硬件条件,加上大数据处理问题日渐普
2015-12-20 15:02:11 451
原创 1033. 旧键盘打字(20)
1033. 旧键盘打字(20) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“
2015-12-14 20:37:30 308
原创 1032. 挖掘机技术哪家强(20)
1032. 挖掘机技术哪家强(20)为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编号、及其总分,中间以空
2015-12-14 20:15:49 380
原创 1034. 有理数四则运算(20)
有理数四则运算(20) 本题要求编写程序,计算2个有理数的和、差、积、商。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。输出格式:分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式“k a/b”,
2015-12-14 14:19:49 357
原创 1031. 查验身份证(15)
1031. 查验身份证(15)一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X 9 8 7 6 5 4
2015-12-04 10:56:43 1028
原创 1030. 完美数列(25)
1030. 完美数列(25)给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(<= 105)是输入的正整数的个数,p(<= 109)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式:在一行中输出最
2015-12-03 20:56:51 311
原创 1029. 旧键盘(20)
1029. 旧键盘(20)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。输出格式:按照发现顺序,在一行中
2015-12-03 20:18:42 298
原创 1028. 人口普查(20)
1028. 人口普查(20) 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式:输入在第一行给出正整数N,取值在(0, 105];随后N行,每行给出1个人的姓名(由不超过5
2015-12-03 19:24:13 291
原创 1027. 打印沙漏(20)
1027. 打印沙漏(20)本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(<=1000)和
2015-12-02 21:44:49 717
原创 1026. 程序运行时间(15)
1026. 程序运行时间(15)要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用clock(),获得一个时钟打点
2015-12-02 20:58:28 247
基于PCL的AGAST detector
2015-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人