??xml version="1.0" encoding="utf-8" standalone="yes"?>国产福利一区在线,国产香蕉在线,国产日韩一区二区三区在线播放http://www.aygfsteel.com/xiaomage234/category/54732.html生命本就是一ơ凄的漂流Q记忆中放不下的Q永q是孩提时代的那一份浪漫与U真Q?/description>zh-cnFri, 23 Jun 2017 08:11:00 GMTFri, 23 Jun 2017 08:11:00 GMT60白话l典法Q{Q?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2017/06/23/432621.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Fri, 23 Jun 2017 03:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2017/06/23/432621.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/432621.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2017/06/23/432621.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/432621.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/432621.html</trackback:ping><description><![CDATA[<div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";">from:http://blog.csdn.net/MoreWindows/article/category/859207 <br /><h1><a style="color: #000000; text-decoration: none;">【白话经典算法系列之十七?数组中只出现一ơ的?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">数组A中,除了某一个数字x之外Q其他数字都出现了三ơ,而x出现了一ơ。请l出最快的Ҏ扑ֈx?q个题目非常有意思,在本人博客中有《位操作基础之位操作全面ȝ》这文章介l了使用位操作的异或来解?#8212;—数组中其他数字出Cơ,而x出现一ơ,扑ևx。有《【白话经典算法系列之十二】数l中只出?ơ的两个数字(癑ֺ面试?》这Ҏ章介l了分组异或的方法来解决——数组中其他数字出Cơ,而x和y出现一ơ,扑ևx和y。而这个题目则是其他数字出?ơ,x出现一ơ?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2013-10-21 11:49</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(32100)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(34)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">【白话经典算法系列之十六?#8220;基数排序”之数l中~失的数?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">首先看看题目要求Q?l定一个无序的整数数组Q怎么扑ֈW一个大?Qƈ且不在此数组的整数。比如[1,2,0]q回3Q[3,4,-1,1]q回2Q[1, 5, 3, 4, 2]q回6Q[100, 3, 2, 1, 6,8, 5]q回4。要求用O(1)I间和O(n)旉?q道题目初看没有太好的思\Q但是借鉴下《白话经典算法系列之十一道有的GOOGLE面试题》这文章,我们不发C?#8220;基数排序”正好可以用来解决q道题目...</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2013-10-15 10:17</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(13580)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(11)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">【白话经典算法系列之十五?#8220;一步千?#8221;之数l找?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">【白话经典算法系列之十五?#8220;一步千?#8221;之数l找?有这样一个数lAQ大ؓnQ相d素差的绝对值都?。如QA={4,5,6,5,6,7,8,9,10,9}。现在,l定A和目标整数tQ请扑ֈt在A中的位置。除了依ơ遍历,q有更好的方法么Q?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2013-09-02 12:57</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(25918)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(39)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">【白话经典算法系列之十三】随机生成和为S的N个正整数——投媄?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">【白话经典算法系列之十三】随机生成和为S的N个正整数——投媄?nbsp;     随机生成和ؓS的N个正整数有很多种解法。下面讲解一U比较高效且比较有趣x的解法——投媄法?nbsp;   以生成和?0?个数ZQ可以先生成随机生成0?0之间的三个数字再排序Q假讑־C4Q?Q?8。然后在X-Y数u上画三个敎ͼ如下图:然后这些数值投影到Y轴上Q可得下图:由图很容易看出ABQBCQCDQDEq四D늚长度...</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2013-01-04 13:46</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(15710)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(46)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">【白话经典算法系列之十二】数l中只出?ơ的两个数字(癑ֺ面试?</a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">微博http://weibo.com/MoreWindows已开通,Ƣ迎x。本pd文章地址Qhttp://blog.csdn.net/MoreWindows/article/category/859207首先来看题目要求Q在一个数l中除两个数字只出现1ơ外Q其它数字都出现?ơ, 要求快扑ևq两个数字?nbsp;   考虑下这个题目的化版——数组中除一个数字只出现1ơ外Q其它数字都成对出现Q要求尽?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2012-11-27 09:17</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(35498)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(51)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">【白话经典算法系列之十一】一道有的GOOGLE面试?--【解??/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">微博http://weibo.com/MoreWindows已开通,Ƣ迎x。本pd文章地址Qhttp://blog.csdn.net/MoreWindows/article/category/859207 上一《白话经典算法系列之十一道有的GOOGLE面试题》中对一道有的GOOGLE面试题进行了详细的讲解,使用了类g基数排序的做法在O(N)的时间复杂度和O(1)的空间复杂度完成了题目的?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2012-11-23 07:57</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(24806)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(52)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之十 一道有的GOOGLE面试?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">微博http://weibo.com/MoreWindows已开通,Ƣ迎x。最q在微博上看C道有的GOOGLE面试题,见下图:文字版:一个大ؓn的数l,里面的数都属于范围[0, n-1]Q有不确定的重复元素Q找到至一个重复元素,要求O(1)I间和O(n)旉?nbsp;    q个题目要求用O(n)的时间复杂度Q这意味着只能遍历数组一ơ。同时还要寻N复元素,很容易想到徏立哈希表来完成,遍历数组...</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2012-11-21 09:03</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(47907)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(87)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之九 从归q排序到数列的逆序数对Q微软笔试题Q?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">首先来看看原?nbsp;微Y2010q笔试题在一个排列中Q如果一Ҏ的前后位|与大小序相反Q即前面的数大于后面的数Q那么它们就UCؓ一个逆序数对。一个排列中逆序的Lq个排列的逆序数。如{2Q?Q?Q?}中,2?Q??Q??Q??是逆序数对Q因此整个数l的逆序数对个数?Q现在给定一数组Q要求统计出该数l的逆序数对个数?nbsp;计算数列的逆序数对个数最单的方便最从前向后依次l计每个数字与它后面...</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2012-10-15 09:15</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(30367)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(36)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之八 MoreWindows白话l典法之七大排序ȝ?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">在我的博客对冒排序Q直接插入排序,直接选择排序Q希排序,归ƈ排序Q快速排序和堆排序这七种常用的排序方法进行了详细的讲解,q做成了电子书以供大家下载。下载地址为:http://download.csdn.net/detail/morewindows/4443208?nbsp;      有网友提议到q本《MoreWindows白话l典法之七大排序》电子书讲解l致用来qx学习是非常好的,但是|?2?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2012-09-10 10:08</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(42997)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(26)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之七 堆与堆排?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">堆排序与快速排序,归ƈ排序一样都是时间复杂度为O(N*logN)的几U常见排序方法。学习堆排序前,先讲解下什么是数据l构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是q似完全二叉树。二叉堆满二个Ҏ:1Q父l点的键值L大于或等于(于或等于)M一个子节点的键倹{?Q每个结点的左子树和叛_树都是一个二叉堆Q都是最大堆或最堆Q。当父结点的键值L大于或等于Q何一个子节点的键值时为最大堆。当?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2011-08-22 20:04</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(338481)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(188)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之六 快速排?快速搞?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">快速排序由于排序效率在同ؓO(N*logN)的几U排序方法中效率较高Q因此经常被采用Q再加上快速排序思想----分治法也实实用Q因此很多Y件公司的W试面试Q包括像腾讯Q微软等知名IT公司都喜Ƣ考这个,q有大大的E序斚w的考试如Y考,考研中也常常出现快速排序的w媄。ȝ说来Q要直接默写出快速排序还是有一定难度的Q因为本人就自己的理解对快速排序作了下白话解释Q希望对大家理解有帮助,辑ֈ快速排序,?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2011-08-13 17:19</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(418202)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(284)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之五 归ƈ排序的实?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">归ƈ排序是徏立在归ƈ操作上的一U有效的排序法。该法是采用分LQDivide and ConquerQ的一个非常典型的应用。首先考虑下如何将二个有序数列合q。这个非常简单,只要从比较二个数列的W一个数Q谁就先取谁,取了后就在对应数列中删除q个数。然后再q行比较Q如果有数列为空Q那直接另一个数列的数据依次取出卛_?/有序数la[]和b[]合ƈ到c[]?void MemeryArra...</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2011-08-11 11:01</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(275147)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(154)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之四 直接选择排序及交换二个数据的正确实现</a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">直接选择排序和直接插入排序类|都将数据分ؓ有序区和无序区,所不同的是直接播放排序是将无序区的W一个元素直接插入到有序Z形成一个更大的有序区,而直接选择排序是从无序区选一个最的元素直接攑ֈ有序区的最后?  设数lؓa[0…n-1]?1.      初始Ӟ数组全ؓ?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2011-08-09 11:15</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(29055)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(38)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之三 希尔排序的实?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">希尔排序的实质就是分l插入排序,该方法又U羃增量排序,因DLQShell?959q提得名?  该方法的基本思想是:先将整个待排元素序列分割成若q个子序列(q隔某?#8220;增量”的元素组成的Q分别进行直接插入排序,然后依次~减增量再进行排序,待整个序列中的元素基本有序(?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2011-08-08 11:41</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(148913)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(82)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之二 直接插入排序的三U实?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">直接插入排序(Insertion Sort)的基本思想是:每次一个待排序的记录,按其关键字大插入到前面已经排好序的子序列中的适当位置Q直到全部记录插入完成ؓ止?  设数lؓa[0…n-1]?1.      初始Ӟa[0]自成1个有序区Q无序区为a[1..n-1]?..</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2011-08-06 19:27</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(118661)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(81)</span></div><div></div></div><div article_item"="" style="clear: both; background: url("../images/line_1.gif") center bottom repeat-x #ffffff; color: #333333; font-family: Arial, Console, Verdana, "Courier New"; font-size: 12px;"><div style="margin: 5px 0px; color: #000000; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: "Microsoft YaHei";"> <h1><a style="color: #000000; text-decoration: none;">白话l典法pd之一 冒排序的三U实?/a></h1></div><div style="text-indent: 2em; color: #666666; font-stretch: normal; font-size: 14px; line-height: 24px; font-family: Arial;">冒排序是非常容易理解和实现Q,以从到大排序D例: 设数l长度ؓN?1Q比较相ȝ前后二个数据Q如果前面数据大于后面的数据Q就二个数据交换?2Q这样对数组的第0个数据到N-1个数据进行一ơ遍历后Q最大的一个数据就“?#8221;到数l第N-1个位|?3QN=N-1Q如果N...</div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-stretch: normal; line-height: 24px; font-family: Arial;"><span style="margin: 0px 5px 0px 0px;">2011-08-06 19:20</span> <span title="阅读ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_view.png") left center no-repeat;"><a title="阅读ơ数" style="color: #336699; text-decoration: none;">阅读</a>(166505)</span> <span title="评论ơ数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background: url("../../../images/ico_comm.png") left center no-repeat;"><a title="评论ơ数" style="color: #336699; text-decoration: none;">评论</a>(94)</span></div></div><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/432621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2017-06-23 11:17 <a href="http://www.aygfsteel.com/xiaomage234/archive/2017/06/23/432621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深度学习培训班\U?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2017/05/17/432534.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Wed, 17 May 2017 03:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2017/05/17/432534.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/432534.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2017/05/17/432534.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/432534.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/432534.html</trackback:ping><description><![CDATA[from:http://blog.csdn.net/hemeinvyiqiluoben/article/details/62439861<br /><br /><table style="background-color: #ffffff; color: #606060; font-family: "microsoft yahei"; font-size: 15px; line-height: 22.5px; width: 669px;"><tbody><tr><td rowspan="2"><strong>评安排<br />W一?nbsp;<br />上午</strong></td><td><strong>一、机器学习基</strong></td><td>1.U性代?br />(1).矩阵q算  (2).向量q算<br />(3).SVD      (4).PCA<br />2.概率信息?br />(1).概率分布  (2).期望、方差、协方差<br />(3). 贝叶?nbsp;  (4).l构概率模型<br />3.数g?/td></tr><tr><td><strong>二、深度学习基</strong></td><td>1.深度学习介绍 <br />(1).发展历史  (2).主要应用<br />2.感知?nbsp;     <br />3.人工经|络<br />4.前馈经|络  <br />5.BP法      <br />6.Hessian矩阵</td></tr><tr><td><strong>W一?br />  下午</strong></td><td><strong>三、深度学习进?--L经|络</strong></td><td>1.CNNL经|络<br />(1).L层(一l卷U、二l卷U)<br />(2).池化层(均值池化、最大池化)<br />(3). 全连接层<br />(4).Ȁzd数层<br />(5).Softmax?br />2.CNNL经|络改进<br />(1).R-CNN QSPPNETQ?br />(2).Fast-R-CNN<br />(3).Faster-R-CNN QYOLO、SSDQ?br />3.深度学习的模型训l技?br />4.梯度下降的优化方法详?/td></tr><tr><td><strong>W二?br />上午</strong></td><td><strong>四、深度学习Y?/strong></td><td>1.深度学习相关软g的安装配|与使用介绍<br />(1).Caffe<br />(2).Tensorflow<br />(3).Torch<br />(4).MXNet</td></tr><tr><td><strong>W二?br />下午</strong></td><td><strong>五?CNN应用案例</strong></td><td>(1).CNN与手写数字集分类<br />(2).YOLO实现目标?br />(3).PixelNet原理与实?br />(4).利用L经|络做图像风格结?/td></tr><tr><td><strong>W三?br />上午</strong></td><td><strong>六、深度学?#8212;—循环经|络</strong></td><td>1.RNN循环经|络<br />(1).梯度计算<br />(2).BPTT<br />2.RNN循环经|络改进<br />(1).LSTM<br />(2).GRU<br />(3).Bi-RNN<br />(4).Attention based RNN<br />3.RNN实际应用<br />(1).Seq2Seq的原理与实现   </td></tr><tr><td><strong>W三?br />下午</strong></td><td><strong>?span style="color: #000000;">、强化学?/span></strong></td><td>1.强化学习的理论知?br />2.l典模型DQN讲解<br />3.AlphaGo原理讲解<br />4.RL实际应用<br />(1).实现一个AlphaGo     </td></tr><tr><td><strong>W四?br />上午</strong></td><td><strong>八、对抗性生成网l?/strong></td><td>1.GAN的理论知?br />2.GANl典模型<br />(1).GANQCGANQLAPGANQDCGANQ?br />3.<span style="font-size: 13px; line-height: 1.6;">GANl典模型</span><br />(1). INFOGANQWGANQS2-GAN<br />4.<span style="font-size: 13px; line-height: 1.6;">GAN实际应用</span><br />(1).DCGAN提高模糊囄分L?br />5.GAN实际应用<br />(1).InfoGAN做特定的h生成</td></tr><tr><td><strong>W四?br />下午</strong></td><td><strong>九、迁Ud?/strong></td><td>1.q移学习的理论概q?br />2.q移学习的常见方?br />(1).Z特征的迁U?br />(2).Z实例的迁U?br />(3).Z数据的迁U?br />(4).深度q移学习<br />(5).强化q移学习<br />(6).q移学习的研I案?br />(7).q移学习的应?br />(8).2017qAAAI最佌文讲解:利用物理定理的知识迁Ud视频理解</td></tr></tbody></table><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/432534.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2017-05-17 11:28 <a href="http://www.aygfsteel.com/xiaomage234/archive/2017/05/17/432534.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TimSort in Java 7http://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423060.html马?/dc:creator>马?/author>Thu, 26 Feb 2015 10:46:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423060.htmlhttp://www.aygfsteel.com/xiaomage234/comments/423060.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423060.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/423060.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/423060.html

fromQ?span style="font-size: medium;">http://www.lifebackup.cn/timsort-java7.html

2012q?9?5?21:57:48

1. Z么写q篇文章

q篇文章的根源是在品中发现了一个诡异的bugQ只能在产品环境下重玎ͼ在我的本地开发环境无法重玎ͼ而双方的代码没有M区别。最后用remote debug的方法找到异常所在:

Exception in thread "main" java.lang.IllegalArgumentException: Comparison 
method violates its general contract!

Google了这个错误,是由于Java 7内置的新排序法D的。这才猛然想起品的~译环境最q升U到了Java 7?/p>

2. l论

在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSortQ而在Java 7中,内部实现换成?a >TimSortQ其对对象间比较的实现要求更加严|

Comparator的实现必M证以下几点(q儿Q:

a). sgn(compare(x, y)) == -sgn(compare(y, x)) 
b). (compare(x, y)>0) && (compare(y, z)>0) 意味着 compare(x, z)>0 
c). compare(x, y)==0 意味着对于L的zQsgn(compare(x, z))==sgn(compare(y, z)) 均成?/p>

而我们的代码中,某个compare()实现片段是这LQ?/p>

public int compare(ComparatorTest o1, ComparatorTest o2) { 
    return o1.getValue() > o2.getValue() ? 1 : -1; 
}

q就q背了a)原则Q假设X的value?QY的value也ؓ1Q那么compare(X, Y) ≠ –compare(Y, X) 
PS: TimSort不仅内置在各UJDK 7的版本,也存在于Android SDK中(管其ƈ没有使用JDK 7Q?/p>

3. 解决Ҏ

3.1) 更改内部实现Q例如对于上个例子,需要更改ؓ

public int compare(ComparatorTest o1, ComparatorTest o2) { 
    return o1.getValue() == o2.getValue() ? 0 :  
                (o1.getValue() > o2.getValue() ? 1 : -1); 
}

3.2) Java 7预留了一个接口以便于用户l箋使用Java 6的排序算法:在启动参CQ例如eclipse.iniQ添?Djava.util.Arrays.useLegacyMergeSort=true

3.3) 这个IllegalArgumentException手动捕获住(不推荐)

4. TimSort在Java 7中的实现

那么Z么Java 7会将TimSort作ؓ排序的默认实玎ͼ甚至在某U程度上牺牲它的兼容性(在stackoverflow上有大量的问题是关于q个新异常的Q呢Q接下来我们不妨来看一看它的实现?/p>

首先大家先读一?a >q篇文章以简要理解TimSort的思想?/p>

4.1) 如果传入的Comparator为空Q则使用ComparableTimSort的sort实现?/p>

 image

4.2) 传入的待排序数组若小于MIN_MERGEQJava实现中ؓ32QPython实现中ؓ64Q,?/p>

a) 从数l开始处扑ֈ一l连接升序或严格降序Q找到后{Q的?nbsp;
b) Binary SortQ用二分查扄Ҏ后l的数插入之前的已排序数l?/p>

image

4.3) 开始真正的TimSortq程Q?/p>

4.3.1) 选取minRun大小Q之后待排序数组被分成以minRun大小为区块的一块块子数l?/p>

a) 如果数组大小?的Nơ幂Q则q回16QMIN_MERGE / 2Q?nbsp;
b) 其他情况下,逐位向右位移Q即除以2Q,直到扑ֈ介于16?2间的一个数

image

4.3.2) cM?.2.a扑ֈ初始的一l升序数?nbsp;
4.3.3) 若这l区块大小于minRunQ则后l的数补I采用binary sort插入q个数组Q?nbsp;
4.3.4) 为后lmerge各区块作准备Q记录当前已排序的各区块的大?nbsp;
4.3.5) 对当前的各区块进行mergeQmerge会满以下原则(假设XQYQZ为相ȝ三个区块Q:

a) 只对盔R的区块merge 
b) 若当前区块数仅ؓ2QIf X<=YQ将X和Y merge 
b) 若当前区块数>=3QIf X<=Y+ZQ将X和Y mergeQ直到同时满X>Y+Z和Y>Z

image

4.3.6) 重复4.3.2 ~ 4.3.5Q直到将待排序数l排序完 
4.3.7) Final MergeQ如果此时还有区块未mergeQ则合ƈ它们

image

5. Demo

q一节用一个具体的例子来演C整个算法的演进q程Q?/p>

*注意*Qؓ了演C方便,我将TimSort中的minRun直接讄?Q否则我不能用很的数组演示。。。同时把MIN_MERGE也改?Q默认ؓ32Q,q样避免直接q入binary sort?/p>

初始数组为[7,5,1,2,6,8,10,12,4,3,9,11,13,15,16,14] 
=> Lq箋的降序或升序序列 (4.3.2) 
[1,5,7] [2,6,8,10,12,4,3,9,11,13,15,16,14] 
=> 入栈 (4.3.4) 
当前的栈区块为[3] 
=> q入merge循环 (4.3.5) 
do not merge因ؓ栈大仅? 
=> Lq箋的降序或升序序列 (4.3.2) 
[1,5,7] [2,6,8,10,12] [4,3,9,11,13,15,16,14] 
=> 入栈 (4.3.4) 
当前的栈区块为[3, 5] 
=> q入merge循环 (4.3.5) 
merge因ؓrunLen[0]<=runLen[1] 
1) gallopRightQ寻找run1的第一个元素应当插入run0中哪个位|(”2”应当插入”1”之后Q,然后可以忽略之前run0的元素(都比run1的第一个元素小Q?nbsp;
2) gallopLeftQ寻找run0的最后一个元素应当插入run1中哪个位|(”7”应当插入”8”之前Q,然后可以忽略之后run1的元素(都比run0的最后一个元素大Q?nbsp;
q样需要排序的元素׃剩下[5,7] [2,6]Q然后进行mergeLow 
完成之后的结果: 
[1,2,5,6,7,8,10,12] [4,3,9,11,13,15,16,14] 
=> 入栈 (4.3.4) 
当前的栈区块为[8] 
退出当前merge循环因ؓ栈中的区块仅? 
=> Lq箋的降序或升序序列 (4.3.2) 
[1,2,5,6,7,8,10,12] [3,4] [9,11,13,15,16,14] 
=> 入栈 (4.3.4) 
当前的栈区块大小为[8,2] 
=> q入merge循环 (4.3.5) 
do not merge因ؓrunLen[0]>runLen[1] 
=> Lq箋的降序或升序序列 (4.3.2) 
[1,2,5,6,7,8,10,12] [3,4] [9,11,13,15,16] [14] 
=> 入栈 (4.3.4) 
当前的栈区块为[8,2,5] 
=> 
do not merege run1与run2因ؓ不满runLen[0]<=runLen[1]+runLen[2] 
merge run2与run3因ؓrunLen[1]<=runLen[2] 
1) gallopRightQ发现run1和run2已l排好序 
完成之后的结果: 
[1,2,5,6,7,8,10,12] [3,4,9,11,13,15,16] [14] 
=> 入栈 (4.3.4) 
当前入栈的区块大ؓ[8,7] 
退出merge循环因ؓrunLen[0]>runLen[1] 
=> Lq箋的降序或升序序列 (4.3.2) 
最后只剩下[14]q个元素Q[1,2,5,6,7,8,10,12] [3,4,9,11,13,15,16] [14] 
=> 入栈 (4.3.4) 
当前入栈的区块大ؓ[8,7,1] 
=> q入merge循环 (4.3.5) 
merge因ؓrunLen[0]<=runLen[1]+runLen[2] 
因ؓrunLen[0]>runLen[2]Q所以将run1和run2先合q。(否则run0和run1先合qӞ 
1) gallopRight & 2) gallopLeft 
q样需要排序的元素剩下[13,15] [14]Q然后进行mergeHigh 
完成之后的结果: 
[1,2,5,6,7,8,10,12] [3,4,9,11,13,14,15,16] 当前入栈的区块ؓ[8,8] 
=> 
l箋merge因ؓrunLen[0]<=runLen[1] 
1) gallopRight & 2) gallopLeft 
需要排序的元素剩下[5,6,7,8,10,12] [3,4,9,11]Q然后进行mergeHigh 
完成之后的结果: 
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] 当前入栈的区块大ؓ[16] 
=> 
不需要final merge因ؓ当前栈大ؓ1 
=> 
l束

6. 如何重现文章开始提到的Exception

q一节将剥离复杂的业务逻辑Q用一个最单的例子Q不修改TimSort.java内置的各U参敎ͼ重现文章开始提到的Exception。因为尽google出来的结果中非常多的人提Cq个Exception及解x案,但ƈ没有人给Z个可以重现的例子和测试数据。另一斚wQ我也想从其他角度来加深对这个问题的理解?/p>

构造测试数据的q程是个反hcȝq程:( 大家不要学我。?/p>

以下是能重现q个问题的代码:

public class ReproJava7Exception { 
    public static void main(String[] args) { 
        int[] sample = new int[] 
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,1,0,-2,0,0,0,0}; 
        List<Integer> list = new ArrayList<Integer>(); 
        for (int i : sample) 
            list.add(i); 
        // use the native TimSort in JDK 7 
        Collections.sort(list, new Comparator<Integer>() { 
            @Override 
            public int compare(Integer o1, Integer o2) { 
                // miss the o1 = o2 case on purpose 
                return o1 > o2 ? 1 : -1; 
            } 
        }); 
    } 
}

7. Sample Code

q篇文章的所有代码可以到githubQ?a name="baidusnap0">https://github.com/Huang-Wei/understanding-timsort-java7下蝲?/p>

8. References

http://en.wikipedia.org/wiki/Timsort 
http://www.geneffects.com/briarskin/theory/binary/index.html 
http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html#compare%28T,%20T%29 
http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#source

分类Q?a title="查看01呓语中的全部文章" rel="category tag">01呓语 | 标签Q?nbsp;?a rel="tag">java7?a rel="tag">timsort |

9条评?/h3>
  1. hute说道Q?/div>

    太好?找了一?感谢.

  2. hute说道Q?/div>

    重现bug的方法确实很逆天,作者花了很大力气吧.

  3. superpippo说道Q?/div>

    @hute 所以说q个q程是很反hcȝ。。?/p>

  4. cjnetwork说道Q?/div>

    你好Q我试了一下你提供的测试代码,发现q是不能复现q个异常情况Q能否帮忙一下呢?/p>

    以下是我的jdkQ?br />java version “1.7.0-ea”
    Java(TM) SE Runtime Environment (build 1.7.0-ea-b45)
    Java HotSpot(TM) Client VM (build 14.0-b10, mixed mode, sharing)

  5. superpippo说道Q?/div>

    @cjnetwork 我在jdk 1.7.0_17上用ReproJava7Exception.java能重现这个问?br />我猜你不能重现有两U可能:
    1) 你的q个jdk版本有点诡异(1.7.0-ea)Q尝试升到最1.7的正式版?br />2) 认你在~译时候用的是JDK7Q而不是JDK6 – 因ؓ有可能在Eclipse或别的IDE中ƈ没有讄正确。你可以写一Dswitch string的小例子看看有没有编译错?/p>

  6. ghsau说道Q?/div>

    compare实现只需要这?
    return o1.getValue() – o2.getValue();
    不需要自己判?

  7. superpippo说道Q?/div>

    @ghsau 是的



]]>
[译]理解timsort, W一部分Q适应性归q排?Adaptive Mergesort)http://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423059.html马?/dc:creator>马?/author>Thu, 26 Feb 2015 10:30:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423059.htmlhttp://www.aygfsteel.com/xiaomage234/comments/423059.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423059.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/423059.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/423059.html阅读全文

]]>
OpenJDK 源代码阅M TimSorthttp://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423051.html马?/dc:creator>马?/author>Thu, 26 Feb 2015 07:59:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423051.htmlhttp://www.aygfsteel.com/xiaomage234/comments/423051.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2015/02/26/423051.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/423051.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/423051.html阅读全文

]]>
վ֩ģ壺 | | ̰| | ƽ| ɽ| ׷| | Ϫ| | | | ɽ| | ޶| ũ| ʯ| ¡| ն| | ʯ̨| | ʲ| | ξ| ʯ| | ߰| | | | ɳ| | | ī| | | | ײ| | ĩ|