知识点:dfs(深度优先搜索)题解:基本的dfs搜索判断可行性问题。一般的dfs搜索,如果不加剪枝,复杂度是指数级的,所以必须要能发掘出优秀的剪枝条件;在本题中,一般有如下剪枝:①:所有线段的长度之和必须为4的倍数;②:搜索之前,把所有线段按从大到小排序,因为长度越长,在拼凑时的灵活度就越低;③:当...
                            
                            
                                分类:
其他好文   时间:
2014-08-09 18:25:48   
                                阅读次数:
249
                             
                    
                        
                            
                            
                                自编码器是什么?
自编码器本身就是一种BP神经网络。它是一种无监督学习算法。
我们都知道神经网络可以从任意精度逼近任意函数,这里我们让神经网络目标值等于输出值x,也就是模拟一个恒等函数:
太无聊了,是吗?输入等于输出,这网络有什么意义?但是,当我们把自编码神经网络加入某些限制,事情就发生了变化。如图1所示,这就是一个基本的自编码神经网络,可以看到隐含层节点数量要少于输入层节点数量。
...
                            
                            
                                分类:
其他好文   时间:
2014-08-09 11:37:57   
                                阅读次数:
442
                             
                    
                        
                            
                            
                                很多游戏特别是rts,rpg类游戏,都需要用到寻路。寻路算法有深度优先搜索(DFS),广度优先搜索(BFS),A星算法等,而A星算法是一种具备启发性策略的算法,效率是几种算法中最高的,因此也成为游戏中最常用的寻路算法。直入正题:在游戏设计中,地图可以划分为若干大小相同的方块区域(方格),这些方格就是...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 20:46:46   
                                阅读次数:
184
                             
                    
                        
                            
                            
                                基本概念LCA:树上的最近公共祖先,对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。RMQ:区间最小值查询问题。对于长度为n的数列A,回答若干询问RMQ(A,i,j),返回数列A中下标在[i,j]里的最小值下标。朴素LCA算法求出...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 17:36:16   
                                阅读次数:
226
                             
                    
                        
                            
                            
                                实上有许多的途径可以了解机器学习,也有许多的资源例如书籍、公开课等可为所用,一些相关的比赛和工具也是你了解这个领域的好帮手。本文我将围绕这个话题,给出一些总结性的认识,并为你由程序员到机器学习高手的蜕变旅程中提供一些学习指引。...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 16:16:46   
                                阅读次数:
469
                             
                    
                        
                            
                            
                                集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 16:16:26   
                                阅读次数:
244
                             
                    
                        
                            
                            
                                最长公共子序列问题以及背包问题都是DP(动态规划)算法的经典题目,值得深度挖掘以致了解DP算法思想。问题如下:
最长公共子序列
时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。
tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(L...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 16:02:16   
                                阅读次数:
200
                             
                    
                        
                            
                            
                                图有四种存储结构:数组,邻接表,十字链表,邻接多重表。下面以数组为存储结构来实现图的深度优先搜索遍历和广度优先搜索遍历。其中广度优先搜索遍历中有用到STL中的queue,注意头文件的包含。具体代码如下:
//图的数组(邻接矩阵)存储表示和深度优先遍历
const int MAX_VERTEX_NUM=20;  //最大顶点数
typedef enum {DG,DN,UDG,UDN} Graph...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 12:39:35   
                                阅读次数:
224
                             
                    
                        
                            
                            
                                75.二叉树两个结点的最低共同父结点(树)题目:二叉树的结点定义如下:struct TreeNode{int m_nvalue;TreeNode* m_pLeft;TreeNode* m_pRight;};输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。思路:修改后序遍历 我的方...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 12:16:25   
                                阅读次数:
275
                             
                    
                        
                            
                            
                                问题描述:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入4, 8, 6, 12, 16, 14, 10,由于这一整数序列是如下树的后序遍历结果:10/ \614/\/ \4 8 12 16因此返回true。如果输入6, 5, 8,.....
                            
                            
                                分类:
其他好文   时间:
2014-08-08 09:36:15   
                                阅读次数:
197