算法
sinat_32290679
这个作者很懒,什么都没留下…
展开
-
回溯法解决八数码问题python
这次人工智能的作业就是用回溯法解决八数码问题,经过一天多的功夫,终于写出来了。下面是正题回溯法是人工智能领域的一种重要的盲目搜索算法,何为盲目算法,即是基于规则,不断的尝试可能的路径,直到到达目的的解为止。 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法原创 2017-04-11 21:18:59 · 6651 阅读 · 4 评论 -
算法题之-数组合并排序
描述:给定两个排好序的数组,编写一个合并函数,使得合并后的数组仍然是排好序的,且只能在原数组操作。设两个数组分别为arr1,arr2.解决方法:计算出合并后的数组长度,并用一个指针p1指向合并后的最后一个位置(此处假设arr1的位置足够多)。用两个指针p2,p3分别指向待合并数组的最后一个位置。比较p2,p3位置的大小关系。若 arr1[p2] >arr2[p3],则将p2位置的元素复制到p原创 2017-08-24 20:35:24 · 916 阅读 · 0 评论 -
算法题之-二维数组元素查找
算法题之-二维数组元素查找描述:给定的一个二维数组,该二维数组从左往右从上往下依次增大,给定一个元素值,求该元素值是否是在该数组中 解决办法先将待查找元素key与数组最右上角元素设为a对比: 若a>key,因数值大小从上往下递增,故该元素往下一定不存在key值,故可以删除该列。若a >key,因数值大小从左往右递增,故该元素往右一定不存在key值,故可以删除该行。 重复进行即可判断是否存在原创 2017-08-22 20:49:12 · 664 阅读 · 0 评论 -
图解插入排序
插入排序时一种常见的排序算法,其原来有点类似于我们打扑克摸牌的过程,每摸一张牌,我们便通过对比手上已有的牌,将刚拿到的牌放入合适的位置。其实现实现思路(假设按正序排序)假设请j个已经排好序, 将第j个元素分别于其前面元素[i]比较,如i元素较大,则将i元素的值往前移动一位,即 a[i+1] = a[i] 若i元素较小,则直接将j位置的值放到 i+1元素的位置。下面以[1, 5, 3, 4, 5,原创 2017-11-23 22:34:59 · 6394 阅读 · 2 评论