﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-积木-随笔分类-算法</title><link>http://www.cppblog.com/Tongy0/category/20571.html</link><description>No sub title</description><language>zh-cn</language><lastBuildDate>Sat, 21 Dec 2013 10:34:41 GMT</lastBuildDate><pubDate>Sat, 21 Dec 2013 10:34:41 GMT</pubDate><ttl>60</ttl><item><title>【转载】排序算法介绍(比较全 )</title><link>http://www.cppblog.com/Tongy0/archive/2013/12/17/204861.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Tue, 17 Dec 2013 12:18:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/12/17/204861.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/204861.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/12/17/204861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/204861.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/204861.html</trackback:ping><description><![CDATA[<div>原文转自：<a href="http://blog.csdn.net/han_xiaoyang/article/details/12163251">http://blog.csdn.net/han_xiaoyang/article/details/12163251</a><br /><br /></div><img src ="http://www.cppblog.com/Tongy0/aggbug/204861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-12-17 20:18 <a href="http://www.cppblog.com/Tongy0/archive/2013/12/17/204861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】RB-Tree 原理与算法。</title><link>http://www.cppblog.com/Tongy0/archive/2013/12/08/204658.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Sun, 08 Dec 2013 08:54:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/12/08/204658.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/204658.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/12/08/204658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/204658.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/204658.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 原谅转载自：http://www.cnblogs.com/skywang12345/p/3245399.html红黑树(一) 原理和算法详细介绍&nbsp;&nbsp; &nbsp; &nbsp;作者：Sky Wang&nbsp; &nbsp; 于 2013-08-08 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &n...&nbsp;&nbsp;<a href='http://www.cppblog.com/Tongy0/archive/2013/12/08/204658.html'>阅读全文</a><img src ="http://www.cppblog.com/Tongy0/aggbug/204658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-12-08 16:54 <a href="http://www.cppblog.com/Tongy0/archive/2013/12/08/204658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A星算法要点</title><link>http://www.cppblog.com/Tongy0/archive/2013/06/23/201238.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Sun, 23 Jun 2013 04:37:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/06/23/201238.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/201238.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/06/23/201238.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/201238.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/201238.html</trackback:ping><description><![CDATA[<div>看完以下概述，即可明白何为A星算法。<br /><br />关于什么是A星算法，上网一查便知。在此只简要记录一些有关A星算法的要点<br /><span style="color: #000000"><strong>一：f、g、h值</strong></span><br /><span style="color: #808080">f值：即：算法的估价值。是指对某一点的估价值。例如：要想从起点 S 到达终点 D，则中间可能会经过n个点，假如其中经过点：X ，则f(X)，就是对点x的计算所得的估价值。当然，对于估价值，是越小越好。</span><br /><span style="color: #808080">g值: 即：从起点 S 到达点 X 实际所花的代价值。例如：以格子数为计量单位。则g值表示，从S到X所经过的格子数，即为实际所花费的代价值</span><br /><span style="color: #808080">h值: 即：从点 X 到达终点 D 可能要花费的值。也就是所谓的估计值，猜测值。这个值根据不同的应用，实现策略，将会有不同的结果。当然值越小是越好的。理由是：f(X) = g(X) + h(X) 。因为g(X)值是固定的，已知的。所以要想f(X)值越小，则只能h(X)的值越小。</span><br /><br /><span style="color: #000000"><strong>二：节点与地图位置点</strong></span><br /><span style="color: #808080">地图位置点不言而喻，是指地图上的某个具体点，因此，只要地图的划分方法确定，则地图位置点必然确定。</span><br /><span style="color: #808080">节点是A星算法中所需要依赖的数据信息存储相关的点。与地图位置点不同。节点中所存储的数据信息是灵活多变的。同时，同一个节点，可能对应于不同的地图位置点。一般情况下，节点中会存储地图位置点信息、当前节点的f、g、h值等等。</span><br /><span style="color: #808080">!!!note: 在A星算法中，节点只分为两类。一类是：待考察的节点。一类是：已考察的节点。</span><br /><span style="color: #808080">已考察节点是指：当所有与节点X相关连的节点的f、g、h值均已被赋值并且这些节点均已被添加到open表中时，则节点X就是已经被考察过了。</span><br /><br /><strong><span style="color: #000000">三：open表与closed表</span><br /></strong><span style="color: #808080">open表中所存储的元素，全部都是需要进一步进行考察的节点。</span><br /><span style="color: #808080">closed表中所存储的元素，全部都是已经被考察过了的节点。</span><br /><br /><span><strong>四：A星算法的实现步骤</strong></span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; 1) 令 P = 起始节点</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; 2) 把 f, g, h 值赋给 P</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; 3) 将 P 添加到 Open 表中。此时 P 是 Open 表中唯一的节点。</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; 4) 令 B = Open 表中的最佳节点。(提示：所谓最佳节点是指：该节点的 f 值最小)</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (1) 如果 B 是目标节点，则退出。此时已找到一条路径。</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (2) 如果 Open 表为空，则退出。此时没有找到路径。</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; 5) 令 C 等于一个与 B 相连的有效节点。</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (1) 把 f, g, h 的值赋给 C。</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (2) 检查 C 是在 Open 表里，还是在Closed表里。</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 2.1: 若在 Closed 表里，则检查新路径是否比原先更好，若是则采用新路径。</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 2.2: 否则把 C 添加到 Open 表里.</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (3) 对所有 B 的子孙节点重复步骤 5).</span><br /><span style="color: #808080">&nbsp;&nbsp;&nbsp; 6) 重复步骤 4).</span><br /></div> <img src ="http://www.cppblog.com/Tongy0/aggbug/201238.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-06-23 12:37 <a href="http://www.cppblog.com/Tongy0/archive/2013/06/23/201238.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>