最近在看《算法导论》,看到多线程算法这章中,有一个parallelfor循环的例子,如下:parallelfori=1tonparallelforj=1toncij=0fork=1toncij=cij+aik+bkj书上说的时间复杂度为O(lgn)+O(lgn)+O(n)=O(n);也就是说一个pa...
分类:
其他好文 时间:
2014-07-16 18:18:16
阅读次数:
181
浑沦吞枣的过了一遍数据结构,今天把最后一章排序的内容结束。大概实现了一个星期看完的想法,当然不是为了求速度,这一次看主要是把各种数据结构做到心中有数,概念清晰,了解各自有哪些经典的算法和算法思路原理。以后若要用到特定的结构和算法再去算法导论中详细研读。下面..
分类:
其他好文 时间:
2014-07-14 12:28:37
阅读次数:
233
算法&数学:算法导论详细数学离散数学及其应用(选)线性代数及其应用数论及其应用(选)python:python 基础教程python cookbookpython 网络编程基础python in a nutshell集体智慧编程机器学习实战js:dom编程艺术js cookbooklinuxlinu...
分类:
其他好文 时间:
2014-07-14 08:21:40
阅读次数:
303
之前我们介绍了用动态规划的方法来解决一些最优化的问题。但对于有些最优化问题来说,用动态规划就是“高射炮打蚊子”,采用一些更加简单有效的方法就可以解决。贪心算法就是其中之一。贪心算法是使所做的选择看起来是当前最佳的,期望通过所做的局部最优选择来产生一个全局最优解。...
分类:
其他好文 时间:
2014-07-13 18:06:01
阅读次数:
377
天气越来越热,看书还得静得下心啊,今天继续图这一章,概念和算法众多,第一遍看以广度优先的形式为主,以后若要用到具体的算法再去翻“算法导论”吧。下面是学习内容和笔记。图(graph)1.图的存储结构邻接矩阵:顶点数组+边数组(二元);无向图的边数组为对称矩阵,有向图..
分类:
其他好文 时间:
2014-07-13 14:32:18
阅读次数:
214
在平摊分析中,执行一系列数据结构操作所需要的时间是通过对执行的所有操作求平均得出,反映在任何情况下(即最坏情况下),每个操作具有平均性能。掌握了平摊分析主要有三种方法,聚集分析、记账方法、势能方法。掌握了平摊分析的方法以后,我们就可以利用他来分析一些优先队列。...
分类:
其他好文 时间:
2014-07-13 14:04:49
阅读次数:
263
题意就先不用讲了吧,感觉自己还没有掌握核心的东西。//心得
//怎样保持路径,递归的实现
#include
#include
#include
#include
#include
using namespace std;
int a[100][100];//time for station
int t[100][100];//time for from Li to Lj
int f[100]...
分类:
其他好文 时间:
2014-07-12 23:54:43
阅读次数:
356
和分治法一样,动态规划也是通过组合子问题的解而解决整个问题的。分治法是指将问题划分为一个一个独立的子问题,递归地求解各个子问题然后合并子问题的解而得到原问题的解。与此不同,动态规划适用于子问题不是相互独立的情况,即各个子问题包含公共的子子问题。在这种情况下,如果用分治法会多做许多不必要的工作,重复求解相同的子子问题。而动态规划将每个子问题的解求解的结果放在一张表中,避免了重复求解。...
分类:
其他好文 时间:
2014-07-12 19:20:19
阅读次数:
258
教你透彻了解红黑树 作者:July、saturnman 2010年12月29日 本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术 推荐阅读:Left-Leaning Red-Black Trees, Dagstuhl Workshop on Data Structures, Wa...
分类:
其他好文 时间:
2014-07-11 09:55:10
阅读次数:
357
二叉排序树(Binary Sort Tree):或者是一颗空树,或者是具有以下性质的树:(1)若它的左子树不空,则左子树上所以结点的值均小于它的根节点的值;(2)若它的右子树不空,则右子树上的所以结点的值均大于它的根节点的值;(3)它的左、右子树也分别是二叉排序树。
二叉排序树的基本操作均可以在O(h)时间内完成(算法导论p165)。
相关操作代码如下:
int InsertBST(BiTr...
分类:
其他好文 时间:
2014-07-09 13:12:09
阅读次数:
160