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

算法导论堆排序Java实现

            堆排序的时间复杂度为O(nlogn),相对于插入排序的O(n^2),它有很大的优势;对归并排序来讲,时间复杂度上两者一致,但是堆排序具有空间原址性,不用像归并那样还要有数组的复制操作。因此,堆排序的优点多多,     下面给出算法导论里堆排序的java实现。   ...

算法导论第十一章----11.2.1-11.2.5

算法导论第十一章----11.2.1-11.2.5 11.2-1& 随机变量Xij表示i,j哈希值相同 11.2-3 search(successful or unsuccessful): Θ(1+α/2) insert: Θ(1+α/2)增加了 delete: Θ(1+α/2) 11.2-4& 11. ...

CYBORG的迷思─人工智能、信息与复杂

CYBORG的迷思─人工智能、信息与复杂 作者:王树森 文章来源:2002网络与社会研讨会论文网 曾经见过cyborg吗?大部分的人会回答没有。当我们听到这个字时,大概会想到星舰迷航记﹙Star Trek﹚的百科﹙Data﹚,或阿诺史瓦辛格﹙Arnold Schwarzenegger﹚主演的电影魔鬼终结者﹙Terminator﹚。这个答案有部分的真实性也有部 ...

Lisp语言发明者 人工智能奠基人 John McCarthy昨日病逝

Lisp语言发明者 人工智能奠基人 John McCarthy昨日病逝 Lisp语言发明者 人工智能奠基人 John McCarthy昨日病逝 ugmbbc发布于 2011-10-25 07:48:25|11526 次阅读 字体:大 小 打印预览 感谢aa88kk的投递 又一位大牛离我们而去。图灵奖获得者,Lisp语言的发明者,人工智能的奠基者之一, ...

专访谷歌工程主管:如何创造真正的人工智能

[导读]作为一位著名企业家、发明家和未来学家,库兹韦尔加盟谷歌曾引起轰动。 谷歌(微博)工程主管雷-库兹韦尔(腾讯科技配图) 腾讯科技讯(小贝)北京时间5月1日消息,据国外媒体报道,谷歌工程主管雷·库兹韦尔(Ray Kurzweil)日前接受了媒体采访,介绍了他加盟谷歌的目的。作为一位著名企业家、发明家和未来学家 ...

全球Win 10用户走在人工智能(AI)的大道上

什么是“人工智能”(AI)?说明白了,就是让计算机具有一些人类的智能和本领,当然必须会听懂人类的语言。1981年,中国人工智能学会(CAAI,国家一级学会)正式成立,目的就是让人们接受人工智能的思想和实践,知道机器能够“思维”,哪怕是简单一点儿的“思维”。CAAI是世界上第二个成立最早的人工智能学术团体,仅次 ...

来自MIT人工智能实验室:如何做研究?

·麻省理工学院      人工智能实验室      AI Working Paper 316 1988年10月       来自MIT人工智能实验室:如何做研究?      作者:人工智能实验室全体研究生      编辑:David ...

人工智能会议(二三流)

  AAMAS (2+): agent方面最好的会议. 但是现在agent已经是一个一般性的概念, 几乎所有AI有关的会议上都有这方面的内容, 所以AAMAS下降的趋势非常明显.  ECCV (2+): 计算机视觉方面仅次于ICCV的会议, 因为这个领域发展很快, 有可能 升级到1-去.  ECM ...

算法导论第3版-Introduction to Algorithm Third Edition-第4章-普通矩阵乘法-Square matrix multiply

算法导论第3版 Introduction to Algorithm Third Edition 第4章-普通矩阵乘法-P44 Chapter4-Square matrix multiply-P76 matrix.h a#ifndef matrix_h #define matrix_h #include <iostream> int** NewMatrix(int row, int col); void Print(int** m, int row, int col); int** Plus(int** ...

《算法导论》第10章 基本数据结构 (2)链表

《算法导论》里实现的是无序双向链表。 源文件 list.h:链表的接口,定义链表和结点的类型,以及链表支持的操作。 typedef int DATA_TYPE; // 注意将结构声明为新类型的语法 struct tagNode { DATA_TYPE data; struct tagNode *prev, *next; }; typedef struct tagNode Node; typedef st ...

算法导论学习笔记(四):求X的N次方的二分实现

今天在看到网易里的算法导论的公开课,听到老外讲分治法时提到了下算一个数的N次方的可以通过二分思想来实 现,于是便想自己写个代码来实现它。虽然很简单,还是想写在博客中。一是可以加深自己的印象,以后遇到这类问 题时可以马上想到用二分来解决;二是可以方便以后的复习,再次用到的时候可以直接来这找模板。 ...

《算法导论》第六章 heapsort

根据《算法导论》第六章,写了heapsort的代码,如下:   // HeapSort.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <fstream> #include <math.h> using namespace std; #define N 1000 void HeapSort(int * ...

算法导论第二章C++实现归并排序

归并排序的思想算法导论里面讲的很详细的,,但数学推导好像有点难,,程序很简单 #include<iostream> using namespace std; void guibing(int *_array,int p,int q,int r); void merge_sort(int *_array,int p,int r); int main() { int a[8]={2,4,5,7,1,2,3,6}; int j1=0; int j2=7; merge_sort ...

算法导论--动态规划(钢条切割)

算法导论--动态规划(钢条切割) 钢条切割问题 现有一段长度为n英寸的钢条和一个价格表pip_i,求切割方案使销售利益最大rnr_n最大 长度为n英寸的钢条共有2n−12^{n-1}种不同的切割方案,因为可以每个整英寸的位置都可以决定切割或者不切割。 为了得到rnr_n最大,可以把这个问 ...

【算法导论学习-002】归并排序(MergeSort)

  参考:《算法导论》P31、P34 public class MergeSortTest { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 /*测试归并排序的一趟排序结果*/ int[] array = { 1, 3, 6, 4, 6, 4, 8, 3, 8, 3, 0 }; mymerge(a ...

算法导论 第21章 用于不相交集合的数据结构

一、综述 不相交集合数据结构(disjoint-set data struct)保持一组不相交的动态集合S={S1,S2,……,Sk} 这种数组结构支持三种操作: (1)MAKE-SET(x):构造一种只有元素x的集合 (2)UNION(x,y):合并两个集合 (3)FIND-SET(x):找出元素x所属的集合 二、代码 1.UnionFindSet.h /* UnionFindSet.h 并查集, ...

《算法导论的Java实现》序言

《算法导论》中文版,我手上拿到的是南京大学出版的《现代计算机常用数据结构和算法》,这是一本很好的书。 一个程序员学习一门新的语言的步骤,我觉得应该是这样的: 1,把所有的语法,API(库)都用一遍。 2,数值计算都用这么语言实现一把。因为数值计算里面会用到的大量的加减乘除(基本运算符) ...

[算法导论读书笔记]拓扑排序

[算法导论读书笔记]拓扑排序 算法思想:         算法导论中关于拓扑排序部分,讲得真是太好了。比按节点的入度的贪心法的拓扑排序容易理解,且容易实现。实现方法是这样的,用DFS遍历整个图,得出个节点的完成时间,然后按完成时间倒序排列就得到了图的拓扑排 ...

算法导论中英文版下载

算法导论:   学过计算机的都知道,这本书可以说是全世界最权威的算法课程的大学课本了,基本上全世界的名牌大学用的教材都是它。这本书一共四位作者,Thomas H. Cormen,Charles E. Leiserson 和 Ronald L.Rivest 是来自 MIT 的教授,Clifford Stein 是MIT出来的博士,现在哥伦比亚大学做教授,四人姓氏的首字母联 ...

算法导论读书笔记之钢条切割问题

算法导论读书笔记之钢条切割问题 巧若拙(欢迎转载,但请注明出处:) 给定一段长度为n英寸的钢条和一个价格表 pi (i=1,2, …,n),求切割钢条的方案,使得销售收益rn最大。注意,如果长度为n英寸的钢条价格pn足够大,最优解可能就是完全不需要切割。 若钢条的长度为i,则钢条的价格为Pi,如 ...