迷宫的最短路径 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 给定一个大小为N*M的迷宫. 迷宫由通道和墙壁组成, 每一步能够向邻接的上下左右四格的通道移动. 请求出从起点到终点所需的最小步数. 请注意, 本题假定从起点一定能够移动到终点. 使用宽度优先搜索算法(DFS), 依次遍历迷宫的四个方向, 当有能够走且未走过的方向时, 移动而且步数加一. 时间复杂度取决于迷宫的状态数, O(4*M*N)=O(M*N). 代码: /* * m…
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/37689725 左旋转字符串 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部. 请定义一个函数实现字符串左旋转操作的功能. 编程珠玑, 首先翻转前部分, 再翻转后部分, 最后所有翻转. 代码: /* * main.cpp *…
扑克牌的顺子 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 从扑克牌中随机抽取5张牌, 推断是不是一个顺子, 即这5张牌是不是连续的. 2~10为数字本身, A为1, J为11, Q为12, K为13, 而大小王能够看成随意数字. 排序, 推断字符串之间的间隔数, 假设小于等于大小王的数量, 则是连续, 否则不是. 代码: /* * main.cpp * * Created on: 2014.7.12 * Author: spike */…
二叉树的深度 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一棵二叉树的根节点, 求该树的深度. 依次选择最深的左右子树, 然后递归加1. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #include <stdlib.h> #include <…
翻转单词顺序 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个英文句子, 翻转句子中单词的顺序, 但单词内字符的顺序不变. 首先翻转(reverse)整个句子, 然后查找空格, 如遇到空格, 则翻转前面的单词, 或遇到结束符, 相同进行翻转. 代码: /* * main.cpp * * Created on: 2014.9.19 * Author: spike */ #include <iostream> #include <…
多重部分和问题 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 有n种不同大小的数字a, 每种各m个. 推断能否够从这些数字之中选出若干使它们的和恰好为K. 使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 起始 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0(3,3) 3 -1 -1 2 -1 -1 1 -1 -1 0 -1 -1 -1…
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/35593485 字符串的排列 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个字符串, 打印出该字符串中字符的全部排列. 方法: 使用递归依次交换位置, 打印输出. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spik…
模拟退火算法SA原理及python.java.php.c++语言代码实现TSP旅行商问题,智能优化算法,随机寻优算法,全局最短路径 模拟退火算法(Simulated Annealing,SA)最早的思想是由N. Metropolis等人于1953年提出.1983 年,S. Kirkpatrick 等成功地将退火思想引入到组合优化领域.来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温…
数据结构实习 Problem H 迷宫的最短路径 题目描述 设计一个算法找一条从迷宫入口到出口的最短路径. 输入 迷宫的行和列m n 迷宫的布局 输出 最短路径 样例输入 6 8 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 样例输出 (6,8) (5,7) (4,6) (4,5) (3,4) (3,3) (2,2) (1,1) 代码如下: #incl…
A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法.算法中的距离估算值与实际值越接近,最终搜索速度越快.--来自百度百科. 我在网上看了不少关于A*寻路的文章,基本都能看懂.但是大多数文章中没有代码实现,或者是一些我不会的某些语言,还有的代码注释太少了而且太长,我看着看着就看不下去了.所以我就自己写了A*算法寻路的C++代码. A*寻路 A*寻路算法详解推荐阅读博文链接:http://www.cppblog.com/mythit/archiv…
时空上下文视觉跟踪(STC)算法的解读与代码复现 zouxy09@qq.com http://blog.csdn.net/zouxy09 本博文主要是关注一篇视觉跟踪的论文.这篇论文是Kaihua Zhang等人今年投稿到一个会议的文章,因为会议还没有出结果,所以作者还没有发布他的Matlab源代码.但为了让我们先睹为快,作者把论文放在arxiv这个网站上面供大家下载了.对于里面所描述的神奇的效果,大家都跃跃欲试,也有人将其复现了.我这里也花了一天的时间去复现了单尺度的C++版本,主要是基于Op…
关于编程,我最喜欢的就是解决问题.我不相信有谁天生具有解决问题的能力.这是一种通过反复锻炼而建立并维持的能力.像任何练习一样,有一套指导方针可以帮助你更有效地提高解决问题的能力.我将介绍5个最重要的软件设计原则,这些原则指导了我的解决问题的过程,并向您展示如何应用这些原则来解决实际问题. 1. Keep It Simple 如果您有任何需要从这篇文章中获得的信息,那就是"保持简单"的原则.这个原则通常被称为KISS,它代表"Keep it simple,stupid"…
PLC编程算法(一) 01 开关量也称逻辑量,指仅有两个取值,0或1.ON或OFF.它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用. 开关量控制的目的是,根据开关量的当前输入组合与历史的输入顺序,使PLC产生相应的开关量输出,以使系统能按一定的顺序工作.所以,有时也称其为顺序控制. 而顺序控制又分为手动.半自动或自动.而采用的控制原则有分散.集中与混合控制三种. 02 模拟量是指一些连续变化的物理量,如电压.电流.压力.速度.流量等. PLC是由继电控制引入微处理技术后发展…
降噪是音频图像算法中的必不可少的. 目的肯定是让图片或语音 更加自然平滑,简而言之,美化. 图像算法和音频算法 都有其共通点. 图像是偏向 空间 处理,例如图片中的某个区域. 图像很多时候是以二维数据为主,矩形数据分布. 音频更偏向 时间 处理,例如语音中的某短时长. 音频一般是一维数据为主,单声道波长. 处理方式也是差不多,要不单通道处理,然后合并,或者直接多通道处理. 只是处理时候数据参考系维度不一而已. 一般而言, 图像偏向于多通道处理,音频偏向于单通道处理. 而从数字信号的角度来看,也可…
mser 的全称:Maximally Stable Extremal Regions 第一次听说这个算法时,是来自当时部门的一个同事, 提及到他的项目用它来做文字区域的定位,对这个算法做了一些优化. 也就是中文车牌识别开源项目EasyPR的作者liuruoze,刘兄. 自那时起就有一块石头没放下,想要找个时间好好理理这个算法. 学习一些它的一些思路. 因为一般我学习算法的思路:3个做法, 第一步,编写demo示例. 第二步,进行算法移植或效果改进. 第三步,进行算法性能优化. 然后在这三个过程中…
前面分享过一个算法<音频增益响度分析 ReplayGain 附完整C代码示例> 主要用于评估一定长度音频的音量强度, 而分析之后,很多类似的需求,肯定是做音频增益,提高音量诸如此类做法. 不过在项目实测的时候,其实真的很难定标准, 到底在什么样的环境下,要增大音量,还是降低. 在通讯行业一般的做法就是采用静音检测, 一旦检测为静音或者噪音,则不做处理,反之通过一定的策略进行处理. 这里就涉及到两个算法,一个是静音检测,一个是音频增益. 增益其实没什么好说的,类似于数据归一化拉伸的做法. 静音检…
说起红眼算法,这个话题非常古老了. 百度百科上的描述: "红眼"一般是指在人物摄影时,当闪光灯照射到人眼的时候,瞳孔放大而产生的视网膜泛红现象. 由于红眼现象的程度是根据拍摄对象色素的深浅决定的,如果拍摄对象的眼睛颜色较深,红眼现象便不会特别明显. "红眼"也指传染性结膜炎. 近些年好像没有看到摄影会出现这样的情况,毕竟科技发展迅速. 记得最早看到红眼移除算法是在ACDSee 这个看图软件的编辑功能区. 当然,当时ACDSee 也没有能力做到自动去红眼,也需要进行手…
在处理最短路径问题时,有一种启发式算法是我们应该了解的,由于其有着优秀的探索效率在各自现实项目中多有应用,它就是 A-star 算法,或  A*  算法. 个人观点: A*  算法并不保证找到的路径一定是最短路径,但该方法由于运算效率高所以使用较广.如果出发点和终点之间存在可到达路径,则使用A*算法必然会得到一条可达路径,但是不一定是最短路径,可以这么说  启发式算法 A* 在存在可达路径的问题中会以较高效率必然找到一条 较短路径. 由于 下文中提到的  h(n)  是用来评价节点n 到终点距离…
一.主要内容: 介绍图论中两大经典问题:最小生成树问题以及最短路径问题,以及给出解决每个问题的两种不同算法. 其中最小生成树问题可参考以下题目: 题目1012:畅通工程 http://ac.jobdu.com/problem.php?pid=1012 题目1017:还是畅通工程 http://ac.jobdu.com/problem.php?pid=1017 题目1024:畅通工程 http://ac.jobdu.com/problem.php?pid=1024 题目1028:继续畅通工程 ht…
转自:https://www.cnblogs.com/cpuimage/p/8908551.html 前面分享过一个算法<音频增益响度分析 ReplayGain 附完整C代码示例> 主要用于评估一定长度音频的音量强度, 而分析之后,很多类似的需求,肯定是做音频增益,提高音量诸如此类做法. 不过在项目实测的时候,其实真的很难定标准, 到底在什么样的环境下,要增大音量,还是降低. 在通讯行业一般的做法就是采用静音检测, 一旦检测为静音或者噪音,则不做处理,反之通过一定的策略进行处理. 这里就涉及到…
圆环,扇形控件基本算法一种实现 - 代码库 - CocoaChina_让移动开发更简单   ////  CircleCore.h//  Quartz////  Created by 仙人掌 on 12-11-5.//  Copyright (c) 2012年 仙人掌. All rights reserved.// #import #define ToRad( degree ) ( degree * M_PI / 180 ) #define ToDeg( rad )    ( rad / M_PI…
具体knn算法概念参考knn代码python实现上面是参考<机器学习实战>的代码,和knn的思想 # _*_ encoding=utf8 _*_ import numpy as npimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data # 导入手写体识别的数据mnist = input_data.read_data_sets("../data", one_hot=T…
目录 第二章:排序算法 及其他 Java代码实现 插入排序 归并排序 选择排序算法 冒泡排序 查找算法 习题 2.3.7 第二章:排序算法 及其他 Java代码实现 --算法导论(Introduction to Algorithms, Third Edition) 插入排序 //打印输出数组模块 public class PrintArrays { public static void printA(int []A) { for (int aInput : A) { System.out.pri…
C++调用Lua编程环境搭建及测试代码示例 摘要:测试环境是VS2005+LuaForWindows_v5.1.4-45.exe+WIN7 1.安装lua开发环境LuaForWindows_v5.1.4-45.exe 2.启动VS2005,选择C++下的"win32"项目类型中的"Win2控制台应用程序" 3.工具--选项--项目和解决方案--VC++目录--可执行程序(C:\Program Files\Lua\5.1) 测试环境是VS2005+LuaForWind…
背景就不介绍了,REINFORCE算法和AC算法是强化学习中基于策略这类的基础算法,这两个算法的算法描述(伪代码)参见Sutton的reinforcement introduction(2nd). AC算法可以看做是在REINFORCE算法基础上扩展的,所以这里我们主要讨论REINFORCE算法中算法描述和实际代码设计中的一些区别,当然这也适用于AC算法: 1.  时序折扣项为什么在实际代码中不加入  REINFORCE算法中是需要对状态动作对出现在episode内的顺序进行折扣加权的,即 γt…
算法仅仅要懂原理了,代码都是小问题,先看以下理论,尤其是红色标注的(要源代码请留下邮箱,有測试用例,直接执行就可以) A*算法 百度上的解释: A*[1](A-Star)算法是一种静态路网中求解最短路最有效的直接搜索方法. 公式表示为: f(n)=g(n)+h(n), 当中 f(n) 是从初始点经由节点n到目标点的估价函数, g(n) 是在状态空间中从初始节点到n节点的实际代价, h(n) 是从n到目标节点最佳路径的预计代价. 保证找到最短路径(最优解的)条件,关键在于估价函数f(n)的选取:…
高速排序算法 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 经典的高速排序算法, 作为一个编程者, 不论什么时候都要完整的手写. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #include <stdlib.h> int RandomInRange(int mi…
题目链接 中文题,迪杰斯特拉最短路径算法模板题. #include<stdio.h> #include<string.h> #define INF 0x3f3f3f3f ],vis[],map[][],low[],a[]; int n,m,start,end; void dijkstra() { int min,max,i,j,next; memset(visit,,sizeof(visit)); visit[start]=; ;i<n;i++) { vis[i]=map[s…
萨鲁曼的军队(Saruman's Army) 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 直线上有N个点, 每个点, 其距离为R以内的区域里, 必须带有标记的点, 本身的距离为0. 尽可能少的加入�标记点, 至少要有多少点被加上标记? 贪心算法, 从最左边的点開始, 依次查找距离为R须要加入�标记的点, 直到结束. 代码: /* * main.cpp * * Created on: 2014.7.17 * Author: spike *…
转自http://blog.csdn.net/nzfxx/article/details/51615439 1.特点及概念介绍 下面给大家讲解一下"二分法查找"这个java基础查找算法,那么什么是二分法呢?其实所谓的"二分法",就是一分为二的意思,综合起来理解就是一分为二的查找,但大家记住了,二分法是建立在"已经按顺序排好"的基础条件上,如果大家把这个二分法查找理解清楚了,那么会有助于你更好的理解快速排序,下面我就罗列出该算法的特点: 1.定义起…