问题描述:
Implement pow(x, n).
基本思想:
将求幂转换为求对数的幂 . 如x^n = exp(n*log(x));
代码:
double pow(double x, int n) { //C++
if(x == 0.0)
return 0;
if(n == 0)
return ...
分类:
其他好文 时间:
2014-12-07 15:05:48
阅读次数:
145
1.基本概念
动态规划过程是:多阶段最优化决策的过程,每次决策依赖于当前状态,又随即引起状态的转移(即状态递推方程),一个决策序列就是在变化的状态中产生出来的,最终得到最优化的决策。
2.基本思想与策略
该算法通常基于一个递推公式(状态转移方程,即问题与子问题关系)及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。...
分类:
编程语言 时间:
2014-12-07 09:02:03
阅读次数:
184
(1)autoload机制概述 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来.....
分类:
Web程序 时间:
2014-12-06 14:03:01
阅读次数:
548
迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。基本思想 通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进两个集合S和U。S的作...
分类:
编程语言 时间:
2014-12-05 22:34:37
阅读次数:
221
普里姆(Prim)算法,和克鲁斯卡尔算法一样,是用来求加权连通图的最小生成树的算法。基本思想对于图G而言,V是所有顶点的集合;现在,设置两个新的集合U和T,其中U用于存放G的最小生成树中的顶点,T存放G的最小生成树中的边。 从所有u?U,v?(V-U) (V-U表示出去U的所有顶点)的边中选取权值最...
分类:
编程语言 时间:
2014-12-05 21:00:18
阅读次数:
285
Given inorder and postorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
基本思想和知道前序与中序的思想一样,中序的某一节点的左节点一定是该节点的左子树,而后序遍历的某一节点的左节点一定...
分类:
其他好文 时间:
2014-12-05 17:36:45
阅读次数:
116
常见用的排序算法学习1.冒泡排序基本思想:两两比较待排序序列中的元素,并交换不满足顺序要求的各对元素,直到全部满足顺序要求为止。C代码:void bubble_sort(int arr[],int n){ int j; while (n>0) { for (j ...
分类:
编程语言 时间:
2014-12-05 16:47:49
阅读次数:
174
问题描述:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
基本思想:
二分法构建二差排序树。
代码:
TreeNode *subsortedArrayToBST(vector & num,int begin, int end) /...
分类:
其他好文 时间:
2014-12-04 23:18:01
阅读次数:
189
这次介绍的是Alex和Alessandro于2014年发表在的Science上的一篇关于聚类的文章[13],该文章的基本思想很简单,但是其聚类效果却兼具了谱聚类(Spectral Clustering)[11,14,15]和K-Means的特点,着实激起了我的极大的兴趣,该聚类算法主要是基于两个基本...
分类:
其他好文 时间:
2014-12-04 21:30:15
阅读次数:
281
快速排序,简称快排,常称QuickSort、QSort。在排序算法中非常常用,其编程复杂度低,时间复杂度O(logN),空间复杂度O(N),执行效率稳定,而且常数很低。 基本思想就是二分,例如你要将N个数排序,你调用了QSort(1,N)。那么快排会这样做:1、找出一个数x2、将N个数分成两部...
分类:
编程语言 时间:
2014-12-04 19:30:55
阅读次数:
309