算法分析

以下是为您整理出来关于【算法分析】合集内容,如果觉得还不错,请帮忙转发推荐。

【算法分析】技术教程文章

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——矩阵连乘问题【代码】

2014.07.07 15:47简介:  给定N个矩阵,A1、A2、...、An,如果相邻矩阵的维度都满足相乘条件,如何组织这n-1次乘法的顺序,使得总共的乘法次数最少?描述:  根据矩阵乘法的定义,如果矩阵X的维度是aXb,矩阵Y的维度是bXc。那么XY相乘需要的乘法次数是aXbXc。  这道题目是典型的动态规划问题。从使用者的角度来看,动态规划问题通常的应用情景主要有两个特点:    1. 暴力搜索能够得出答案,但速度实在太慢。如果用空间换...

mysql --Bitmaps算法分析

在mysql数据库中,对于字段性别等特殊字段,可能需要八个变量存储,就算你用tinyint(1),也是不划算的。对于这八个变量至少占用8个字节。但是采用位图,一个字节足矣。我们用一个比特位代表true和false值,而8个变量可缩写成01000010,表示该男性处于未婚状态,户口所在地北京,无研究生学历,共占用一个字节。这样可以节省空间,也提高了处理速度,其实用位图可以理解为位映射。 在mysys/目录下的my_bitmap.c文件包含各种操作...

《数据结构与算法分析——c语言描述》读后笔记 8【代码】【图】

二叉树表达式树的树叶是操作数(operand),比如常数或变量,而其他的节点为操作符(operator)。这里限定操作符只能为+,-,*,/四个操作符。把后缀表达式转变成表达式树:程序://expression_tree.hstruct TreeNode; typedef struct TreeNode *PtrToNode; typedef PtrToNode Tree; typedef char Type;PtrToNode CreateNode(char ch);struct TreeNode { Type Element; Tree Left; Tree Right; };//expression_tree.c#incl...

全排列的几种实现(含字典序排列算法分析)【代码】

始于一个很简单的问题:生成{0,1,2,3,...,n-1}的n!种排列,即全排列问题。下面介绍几种全排列的实现,以及探讨一下其解题思路。基于枚举/递归的方法思路:  基于枚举的方法,也可以说是基于递归的方法,此方法的思路是先将全排列问题的约束进行放松,形成一个较容易解决的新问题,解新问题,再对新问题进行约束,解出当前问题。以上全排列问题是生成{0,1,2,...,n-1}的n!个排列,隐含的一个约束是这个n个位置上的数...

普林斯顿公开课 算法1-1:算法分析【图】

为什么要分析算法 分析算法能够预測算法的性能,比較算法之间的优劣,保证算法的正确性,理解算法的理论基础。成功算法的样例 离散傅立叶变换,假设使用暴力方法,那么算法的复杂度是是N^2,假设使用FFT高速傅立叶变换能够实现O(N logN)复杂度 N-body模拟:使用Barnes-hut算法能够将复杂度减少到N logN 顺便发一张N-body模拟的炫图 Barnes-Hut算法示意图算法分析的步骤观察问题的特征和想到得到的结果依据观察结果提出如果使用如果...

几种线程池的实现算法分析【转载】【图】

原文地址本文内容前言线程池意义线程池技术要点小节参考源码但凡是一个框架,基本都会涉及线程池问题。虽然你可能没有直接使用,那是因为框架帮你完成了这部分工作。说,为什么需要线程池呢?试想,现在但凡是写一个服务程序,如果不采用并发或并行的方式,都有点对不起4核、8核,甚至更多的CPU内核,但是如果每次需要线程,都创建一次,这对性能的消耗,比较大,更加合适的做法是,在程序初始化时,一次性把所有线程都创建好,这样...

数据结构与算法分析(C语言描述)习题2.14【代码】【图】

问题描述:Eratosthenes筛是一种用于计算小于N的所有素数的方法。我们从制作整数2到N的表开始。我们找出最小的未被删除的整数i,打印i,然后删除i, 2i, 3i, ..., 当i > √N时,算法终止。首先,没必要做2到N的表,在一个循环内遍历2到N即可。其次,所谓最小也没必要判断,依次遍历时整数i自然是它到最后一个数之间的最小值。最后,整数i是否被删除等价于整数i是否素数flag[i]==1或0表示,1表示素数,0表示非素数。可以这么做:遍历...

K均值聚类--利用k-means算法分析NBA近四年球队实力【图】

分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,这时候可以考虑使用聚类算法。聚类属于无监督学习,相比于分类,聚类不依赖预定义的类和类标号的训练实例。本文首先介绍聚类的基础——距离与相异度,然后介绍一种常见的聚类算法——k-means算法...

南邮算法分析与设计实验4 密码算法

南邮算法分析与设计实验4 密码算法实验目的 了解现代密码学的基本原理和数论的基础知识,掌握非对称密码体制的著名代表RSA加密算法的工作原理和流程,并设计实现一个简单的密钥系统。实验内容 了解加/解密的基本原理和工作过程,用公开密钥对明文进行加密,并用私人密钥对密文进行解密,构造一个简单的 RSA 公开密钥系统。实验原理 1、RSA算法是由麻省理工学院的 Ron Rivest,Adi Shamir 和Len Adleman 于 1977 年研制并于...

广度优先搜索(BFS)思路及算法分析【代码】【图】

1、算法用途:是一种图像搜索演算法。用于遍历图中的节点,有些类似于树的深度优先遍历。这里唯一的问题是,与树不同,图形可能包含循环,因此我们可能会再次来到同一节点。 2、主要思想:主要借助一个队列、一个布尔类型数组、邻接矩阵完成(判断一个点是否查看过,用于避免重复到达同一个点,造成死循环等),先将各点以及各点的关系存入邻接矩阵。再从第一个点开始,将一个点存入队列,然后在邻接表中找到他的相邻点,存入队列,...

算法分析 - 相关标签