当前位置: 首页 > 模式/算法

MySQL LEFT/RIGHT JOIN算法效率分析

理论上下推也是可以用到外联接上的,没看懂官方的那段伪代码,根据自己的想法写了一段测试代码,就是昨天代码的改进。 下面是官方给出的采用下推的算法: FOR each row t1 in T1 such that C1(t1) { BOOL f1:=FALSE; FOR each row t2 in T2 such that P1(t1,t2) AND (f1?C2(t2):TRUE) { ...

高效率的排列组合算法(java实现)

  package BeanUtil; import java.util.ArrayList; import java.util.List; import com.work.core.exception.OurException; /**  * 统计任三出现的最多的几率的组合  *   * @author wangmingjie  * @date 2009-1-1下午01 ...

算法导论---有序序列中的i个最大数(思考题9-1)

算法导论---有序序列中的i个最大数(思考题9-1) 问题描述: 问题求解: a. 使用归并排序或堆排序对输入数据进行排序,均花费O(n*lgn)最坏情况运行时间(不要使用快排或插入排序,他们均花费O(n^2)的时间)。将i个最大元素(在已排序数组中直接可以获得)放到输出数组中,花费时间O(i)。 因此 ...

算法导论学习2.1-3 查找问题

public class Search { public static void main(String[] args) { int[] a = {1,2,3,4,5,6,7,8,9,0}; int v = 11; System.out.print("v in a[" + search_v(v,a) + "] (a[-1] means " + v + " is not in the line.)"); } static int search_v(int v, int[] a) { int i; ...

《算法导论》第9章 顺序统计学 (2)随机选择

randomized_select使用划分方法randomized_partition(),返回主元位置q(第k小元素)。 要查找的是第 i 小元素,若恰好等于k,那么直接返回。 如果 i < k,则继续在[p, q - 1]中搜索第 i 小元素。 如果 i > k,则继续在[q + 1, r]中搜索第 i - k 小元素。 int randomized_select(int A[], int ...

MIT公开课《算法导论》笔记二:渐近符号、递归及解法

MIT公开课《算法导论》笔记二:渐近符号、递归及解法 内容均来自MIT公开课Introduction to Algorithms中Charles E. Leiserson和Erik Demaine老师的讲解。 http://v.163.com/special/opencourse/algorithms.html 一. 渐进符号 a. 大O表示法       存在正数c与N,对所有的n≥N,满足&nb ...

一个时间效率为n的排序算法

  我们假定输入是个数组A[0...n],length[A]=n,另外,我们还需要两个数组:存放结果的B[1..n],以及提供临时存储的C[0...k].  COUNT_SORT(A,B,k) 1.  for i=0 to k 2.      do C[i]=0 3.  for j=1 to length[A] 4,      do  ...

判断数字最高效率的算法

这是以前csdn上一个经典的帖子,我当年刚学 .net的时候学习的,不知道有没有朋友有不同意见 Q:怎样判断是数字?   例如:12345--->是数字,   12345t--->不是数字   12345年--->不是数字 非常感谢各位,我以前也曾试过用正则式 和 异常法来做但用的正则式中的另一个方法,可没 ...

算法导论-24.2-有向无回路图中的单源最短路径

一、概念 二、代码 #include <iostream> #include <queue> using namespace std; #define N 6 #define M 10 //边结点结构 struct Edge { int start;//有向图的起点 int end;//有向图的终点 Edge *next;//指向同一个起点的下一条边 int weight;//边的类型 Edge(int s, int e,int w): ...

算法导论 习题6.2-5 用迭代法实现堆排序

#include <iostream> using namespace std; void swap(int array[] , int i , int j) { array[i] = array[i]+array[j]; array[j] = array[i]-array[j]; array[i] = array[i]-array[j]; } void MaxHeapify(int array[] , int i , int hSize) { int l = 2*i; int r = 2*i+1; i ...

从表中随机取出n条记录的最优算法,数据量越大,效率越高。

SELECT userid FROM user WHERE userename =0 ORDER BY rand( ) LIMIT 30 从user表里面随机的取出30个ID 这个sql怎么优化 数据库是mysql.这个表数据量很大 执行要9秒... foolbirdflyfirst(龙腾虎跃)的答案: 正好,之前有看到个order by rand()的优化,老外说即使innodb引擎都有10倍提升,我测试了下,数据越 ...

贴个JAVA写的康拓展开算法;效率一般,思想有了就行;....

public class CountPos { public int countPos(int []array){ int length=array.length; int sum=0; for(int i=0;i<length;++i){ int count=array[i]-1; if(count!=0){ for(int j=0;j<i;++j){ if(array[j]<array[i]){ --count; } } sum+=count*mult(length-i-1); } } ...

Amazon的推荐系统

Amazon的推荐系统 现在的推荐系统特别火啊。做得最好的应该是Amazon了。 上面是Amazon的图书推荐。 用的就是著名的 协同过滤(Collaborative filtering)算法。   我们用一个简单的例子来说明。 下面是一个用户购买的书籍的表格。 ...

面向Agent的方法学概述

1.引言 不管面向智能主体的(AO:Agent-Oriented)方法学是否会像鼓吹的那样继面向数据流(DFO:DataFlow-Oriented)、面向数据结构(DSO:DataStruct-Oriented)、面向对象(OO:Object-Oriented)之后成为新一代的软件开发方法学.随着软件系统服务能力要求的不断提高,在系统中引入智能因素已经成为必然.Agent作为人工智能研究重 ...

【算法导论】02——渐近符号、递归及解法

【算法导论】02——渐近符号、递归及解法 渐近符号 1、上限 <= Ο记号 Ο(g(n)) = { f(n) : 存在正常数c和n0,使对所有n>=n0,有0<=f(n)<=c*g(n) } Ο记号在一个常数因子内给出某函数的一个上界。f(n) = Ο(g(n))表示f(n)是集合O(g(n))的一个元素。f(n) = Θ(g( ...

《算法导论》第12章 二叉查找树 (3)基数树

《算法导论》第12章 二叉查找树 (3)基数树 基数树与二叉查找树和Trie树很相似。它像BST一样是二叉的,向左表示0而不是BST的小于, 而向右则表示1而不是大于。它像Trie一样共享相同的结点来保存字符串中相同的前缀,从而 节省了空间,但它不像Trie那样每个结点有很多孩子(可以是26个,表 ...

高效率的全组合算法

        static string[] m_Data = { "A", "B", "C", "D", "E" };         static void Main(string[] args)        {            Dictionary<s ...

java 高效率的排列组合算法(java实现)

package BeanUtil; import java.util.ArrayList; import java.util.List; import com.work.core.exception.OurException; /** * 统计任三出现的最多的几率的组合 * * @author wangmingjie * @date 2009-1-1下午01:22:19 */ public class Copy_2_of_StatisAnyThree { // 组合算法 ...

MIT算法导论学习笔记-Lecture4 分治法(续)

MIT算法导论学习笔记-Lecture4 分治法(续) 第四讲:分治法(续) 4.1 快速排序(Quicksort)          1这是一种分治法实现          2这是原地(“in place”)排序,即不需要额外的存储空间      ...

算法导论22.1-6

  找到一个矩阵表示法的有向无权图中的"汇",定义为,入度为|V| - 1,出度为0的顶点.这样的顶点,一个图中只能有一个.或者没有.这个问题,是以前没有接触过的,觉得很有用,所以去写了下.   起初写的东西,很糟糕.我给带出来了,起初的想法,孩子一样纯真.确实效率不高.而且浪费空间.答案给的实现,更多地利 ...