E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【算法导论】
MTI
算法导论
知识储备计算机程序结构与解释离散数学概率论了解并熟悉一门编程语言通常性能的好与坏,直接决定着可行还是不可行。例如,对于实时的需求。算法总是处于解决问题的最前沿,如果你讨论的只是重新实现十年前人们就做过的东西。那某种意义上,性能就不在重要。但是如果你正在积极尝试其他人没有成功的事情,之所以别人没有成功,因为太消耗时间,不具备可扩展的空间,这是第一层原因,算法能够将不可行变成可行。第二层原因,算法是一
iteye_12030
·
2020-07-04 18:10
大学开放课程
堆排序 max_heapify 调整堆函数
有点时间想研究一下堆排序,看了一下
算法导论
,现在记录一下max_heapify()函数是堆排序中的一个非常重要的方法#includeusingnamespacestd;inta[15]={0,27,17,3,16,13,10,1,5,7,12,4,8,9,0
iphxer
·
2020-07-04 18:38
算法导论
算法性能测量方法
方法进行Big-O分析,就是
算法导论
里那种,对于复杂的运算过程不适用限定CPU能力,内存,计算运行时间。由于CPU是分时计算的,此时可以profile一下算法本身占了多少比例。
我把葡萄酿成酒
·
2020-07-04 15:09
性能优化
算法导论
-1.基础知识
1.伪代码1.1与真码的区别:伪代码与真码的区别在于,在伪代码中,我们使用最清晰、最简洁的表示方法来说明给定的算法。有时最清晰的表示方法时英语,所以如果你遇到一个英文短语或句子嵌入在一段真码中就不要吃惊。伪代码与真码的另一个区别是伪代码通常不关心软件工程的问题。伪代码为了更简洁的表达算法的本质,常常忽略数据抽象、模块性和错误处理的问题。1.2伪代码中的约定:缩进表示快结构while、for与rep
卡布萨岛
·
2020-07-04 15:49
经典算法研究系列:六、教你初步了解KMP算法、updated
时间;二零一一年一月一日-----------------------本文参考:数据结构(c语言版)李云清等编著、
算法导论
引言:在文本编辑中,我们经常要在一段文本中某个特定的位置找出某个特定的字符或模式
dinongxu8804
·
2020-07-04 14:03
算法导论
习题,思考题题解博主录
算法导论
最好结合课后习题来看,以查漏补缺,检验自己对知识的掌握和理解水平我在看的过程中,参考了以下博主的博客http://blog.csdn.net/longhuihu?
TangTangWan
·
2020-07-04 14:14
数据结构与算法
kmp算法的原理及理解(转)
我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看
算法导论
,32章字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。
cimeizhen7129
·
2020-07-04 13:26
网络编程学习汇总
JavaJavaWebHTML学习记录对应复习CSSJavaScriptXMLTomcatMysql框架Struts2学习记录对应复习问题整理Hibernate学习记录问题整理Spring学习记录对应复习工具类快捷键Linux
算法导论
小疯子青
·
2020-07-04 10:31
目录
算法分析(1):插入排序
买了一本
算法导论
,利用闲散的时间,学习算法分析。语言使用C++,顺便练习C++语言特性。插入排序:对于少量元素的排序,这是一个有效的算法。下面根据一个例子来分析,它排序的原理。
ZHANGENLIANG612128
·
2020-07-04 09:32
hdu 1402 (大整数乘法,快速傅里叶变换)
FFT),就是在O(nlogn)的时间内求出多项式系数矩阵a=(a1,a2,a3...an)的离散傅里叶变换(DFT)矩阵y=(y1,y2...yn)如果你对傅里叶变换不是很了解,不要去网上查博客,打开
算法导论
的第
GaoJieVery6
·
2020-07-04 09:55
矩阵运算/数值计算/大整数计算
hdu
OJ
麻省理工学院《
算法导论
》(MIT - Introduction to Algorithms) 视频教学下载地址
ed2k://|file|%5BMIT%E7%AE%97%E6%B3%95%E5%AF%BC%E8%AE%BA.%E8%A7%86%E9%A2%91%5D.1.ocw-6.046-07sep2005-220k.mp4|175006724|bfc576d79ef02417b64235680425ecc1|h=qn3fzicbevragyniohnbf6i77kq5pvze|/ed2k://|file
lt3
·
2020-07-04 08:49
算法
算法导论
之 贪心算法- 矩阵链相乘
作者:邹祁峰邮箱:
[email protected]
博客:http://blog.csdn.net/qifengzou日期:2014.05.08转载请注明来自"祁峰"的CSDN博客1引言在大学期间,我们学过高等数学中的线性规划,其中有关于矩阵相乘的章节:只有当矩阵A的列数与矩阵B的行数相等时,A×B才有意义。一个m×n的矩阵A(m,n)左乘一个n×p的矩阵B(n,p),会得到一个
祁峰
·
2020-07-04 08:41
算法导论
算法导论
算法资源
链接:https://pan.baidu.com/s/1c2fH6mc密码:bvnf西北工业大学算法设计:链接:https://pan.baidu.com/s/1i59t31N密码:jkuu麻省理工学院
算法导论
风___________
·
2020-07-04 07:17
[leetcode]median of two sorted arrays求两个有序数组的中位数(扩展为第k大)
面试时被问到,想了想发现是《
算法导论
》原题(好像是顺序统计量和中位数那节)。由于平时不刷leetcode,这种题一般也只是想想,面试时写了个面向bug编程,不过感谢面试官手下留情。
Hardict
·
2020-07-04 05:43
【
算法导论
学习-27】动态规划经典问题01:钢条切割的最大收益
参考:《
算法导论
》P360页15.1Rodcutting问题描述:给出下面一个钢条的长度(int类型)和对应的价格表,求出给定长度n米(int类型)的钢条如何切割才能获得最大收益。
只想瞪你一眼~
·
2020-07-04 04:22
《算法导论》学习
单链表的C实现及演示
结合的《
算法导论
》(这本书可真难看啊)和《数据结构与算法分析》这两本书。
CaspianR
·
2020-07-04 01:48
数据结构
算法
2015~2016年学习计划
1《高质量C++/C编程指南》林锐编程基础和数据结构2《深入理解计算机系统》第二版3《
算法导论
》第三版4《代码大全》5《Unix环境高级编程》6《TCP/IP详解卷1:协议》网络编程7《TCP/IP详解卷
lightd
·
2020-07-04 00:37
嵌入式Linux
《
算法导论
》+第四版++答案
在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据
BassetHoud
·
2020-07-02 17:26
算法
编程
计算机
算法导论
第五章 概率分析和随机算法
5.1雇佣问题雇佣问题类似于在一组随机排序的数组中查询最大值的问题,对于这类问题无法确切的得出其运行效率。但可以根据输入的概率分布得到平均情况运行时间。对于一个算法行为不仅由输入决定,而且由随机数生成器产生的数值决定,则称算法是随机的,其运行时间称为期望运行时间。5.2指示器随机变量由指示器随机变量计算雇佣问题的期望5.3随机算法对于一个输入为随机的问题只可以讨论平均情况运行时间,若欲讨论其期望运
pokeyode
·
2020-07-02 14:16
算法笔记
为什么要用散列表(哈希表,hashtable)
-------
算法导论
数组是一种支持直接访问的数据结构,使用确定的位置来存储和检索数据,十分高效。对数组操作时,隐含的一个动作是通过特定的规律来确定下标。
ozdazm
·
2020-07-02 14:30
数据结构
《
算法导论
》笔记(10)贪心算法 部分习题
习题16.1-4区间图着色问题。边最多的顶点G,其边数n即需要的颜色数,也即教室数。有n种颜色,顶点标为第i种颜色,则此活动可放在第i个教室举行。从一顶点开始广度优先遍历,将相连接的点标为不同颜色,标颜色同时检查与此相连的所有点颜色不同。然后检查全部顶点,有未标色的顶点,按照上法重新开始标色。习题16.1-5如果每个活动有值vk,要求vk总和的最大值,那么这个题就需要用动态规划求解了。时间为i,若
nklofy
·
2020-07-02 13:45
《算法导论》笔记
编译原理学习导论
我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是
算法导论
,而编译原理这门课程讲的就是比较专
myali88
·
2020-07-02 13:40
C语言仓库
算法导论
14.1-7 顺序统计树求逆序对 O(nlgn)
一、题目说明如何在O(nlgn)的时间内,利用顺序统计树对大小为n的数组中的逆序对(见思考题2-4)进行计数。二、思考求逆序数中介绍了使用树状数组或归并排序求逆序对,这里使用顺序统计数。数组中某个数字s[i]的逆序数是指出现在s[i]之前,但是比s[i]大的数字的个数。根据顺序统计量的Os_Rank(),每插入到一个元素x后,可以求得在已经出现的元素中,比x大的数字的个数三、代码#includeu
windmissing
·
2020-07-02 12:24
算法导论
全域哈希和完全哈希
看了MIT
算法导论
公开课关于全域哈希和完全哈希的内容,感觉很棒,因此在这里总结MARK一下全域哈希由来研究一个东西之前,我们首先要知道为什么要研究它,即全域哈希能解决普通哈希的什么问题?
lzq20115395
·
2020-07-02 10:40
数据结构
算法
算法导论
第五章:概率分析和随机算法
注:由于输入公式困难,本篇用C(n,k)表示组合,n选k;P(n,k)表示排列,n选k;∑k=a~b表示求和。5.1雇佣问题假设你要雇佣一个新的办公室助理,雇佣代理每天想你推荐一个应聘者(连续推荐n个),你面试这个人,如果这个应聘者比目前的办公室助理更优秀,你就会辞掉当前的办公室助理,然后聘用这个新的。面试一个人需付给雇佣代理一笔费用,聘用办公助理也需要费用。假设面试费用为Ci,雇佣的费用为Ch,
longhuihu
·
2020-07-02 09:37
《算法导论》
算法导论
第十六章习题16.1-2
从最后一个开始的活动开始选择,则各个活动开始时间要进行排序。代码如下://贪心算法#includeusingnamespacestd;//选择最先结束的活动intGreedySelect(int*s,int*f,intlength,int*a){inti,j=2;a[1]=1;i=1;for(intm=2;m=f[i]){a[j++]=m;i=m;}}returnj;}//选择最后开始的活动int
liuzhanchen1987
·
2020-07-02 09:48
算法导论
0001算法笔记——NP完全理论
一开始是买了本《
算法导论
》,书到的时候翻了翻,砖头啊,那个难度恐怕乔帮主在世也未必能琢磨得透吧。还是看国产的书
风仲达
·
2020-07-02 08:17
算法
算法笔记——《算法设计与分析》
算法导论
第7章 课后习题
转自http://www.cnblogs.com/bigrabbit/archive/2012/06/08/2541356.html,中间有新增7.2-4银行经常按照交易时间,来记录有关某一账户的交易情况,但是,很多人喜欢按照票据号来收到其银行对账单。因此,如何将按交易时间排序转换成按支票编号来排序,就成为一个对几乎排好序的输入进行排序的问题。证明在这个问题上,过程INSERT_SORT的性能往往
Raise
·
2020-07-02 07:20
C++
算法分析与设计
对于红黑树的深入理解
对于红黑树的深入理解从五条性质谈起二三树通过二三树重新理解红黑树的性质红黑树的java实现红黑树的添加红黑树的删除从五条性质谈起说起红黑树的性质,一般引用《
算法导论
》中对红黑树的五条性质定义每个节点或者是黑色
lc199408
·
2020-07-02 07:00
Java
快速排序+基于c#实现
最近,学习
算法导论
,对快排法做个总结:快排的特点:最坏情况下,对n个数的排序所花的时间是O(n^2)。
kxloveh
·
2020-07-02 07:04
C#
算法
排序
算法导论
学习笔记-第十一章-散列表
第十一章散列表总结:这一章讲了直接寻址表和散列表,并介绍了一些散列函数等。1.直接寻址表直接将关键字作为数组下标。复杂度O(1)2.散列表k->h(k)降低了空间开销,会产生碰撞,解决碰撞的简单方法是链接法。对链接法散列,平均情况下,复杂度也是O(1)3.散列函数1)除法散列法h(k)=kmodm,m最好选取与2的整数幂不太接近的质数2)乘法散列法h(k)=[m(kAmod1)],A为一个常数(0
kindlucy
·
2020-07-02 06:59
算法学习
Sort Algorithm—MIT
算法导论
插入排序image.png/***Createdby编程只服JAVAon2017.07.13.*/vararr=[1,43,23,56,12];functioninSertSort(Array){for(vari=1;i-1&&Array[j]>key){Array[j+1]=Array[j];--j;}//找到合适的插入位置,因为j已经跑到了前一个位置,因此需要j+1Array[j+1]=key
远o_O
·
2020-07-02 06:35
搞IT的到底怎么了
老婆的QQ截图给我看:看了以后,思考良久...高度数眼镜,呆滞,满脸痘痘,卷发(统计意义)...这是IT人;挤车,一身臭汗,加班,低薪水,动不动就代码,这些是IT人;第一天看《
算法导论
》第一页,第二天看第二页
iteye_5014
·
2020-07-02 04:19
d-ary heaps 多叉树堆排序C++实现
这个是
算法导论
的一道Problem,其实该注意的地方和堆排序是一样的,所以有了二叉树堆排序的基础之后就很好实现多叉树了。
iteye_13202
·
2020-07-02 04:51
堆排序(依据
算法导论
伪代码)
////堆排序(依据
算法导论
伪代码)//数组有效是从1开始的//程序仅供记录自己的学习历程#include"stdafx.h"#include"iostream"usingnamespacestd;//
huangjxbuaa
·
2020-07-02 03:21
ACM题目推荐(刘汝佳书上出现的一些题目)
《算法艺术与信息学竞赛》的习题提示在网上可搜到一.动态规划参考资料:刘汝佳《算法艺术与信息学竞赛》《
算法导论
》推荐题目:http://acm.pku.edu.cn/JudgeOnline/problem
hncqp
·
2020-07-02 02:27
acm-算法-数据结构
对动态规划和贪心算法的一点理解
今天看了一下MIT的
算法导论
的相关章节,算是有了个大概认识。(题外话:
算法导论
看得不多,但只就这两章而言,可以看出这本教材和国内的算法教材大不一样。国内的教材很多都直接的“由
hanbf
·
2020-07-02 01:57
其他
排序算法——计数排序
算法导论
第三版109页,讲解非常清楚。这里把其中的一个图贴上来,便于理解图中,数组A是待排序的数组,C是用来临时存放信息的数组,B是最终排好序的数组。
享受Programming
·
2020-07-02 00:16
各类排序算法
算法导论
之贪心算法(Huffman编码和拟阵)
贪心算法,在解决最优化问题上,通过得到子问题的局部最优解来合成问题的一个解,以局部最优选择来输出一个全局最优解。问题要用贪心算法来求解,需满足和动态规划一样的最优子结构特征,同时还需要再每个子问题最优解选择上具有贪心性质。所谓贪心性质,就是本来一个问题分成两个子问题求解,但现在只需要选择一个来求解,而这个子问题的局部最优就是全局最优。贪心了,只要解决一个子问题就解决了整个问题。通过活动选择问题来说
fjssharpsword
·
2020-07-02 00:34
Algorithm
算法导论专栏
算法导论
课第一章后题
第一章算法在计算中的作用1.1算法练习1.1-1:排序例子:成绩排名。凸壳例子:给物品制作包装盒,即为取物品的一个凸壳。1.1-2:产品的良品率1.1-3:集合,优点是元素无重复,可以快速扩容,缺点是元素无序不易查找1.1-4:相似:都是交通图问题,都是求总共走的路程最短。不同:旅行商问题任两点可以连接(只要不重复),而最短路径问题要求在只能连接相邻的点。旅行商问题要求连接所有点,不遗漏不重复,而
UEVOLIshy
·
2020-07-01 14:05
算法导论
算法导论习题
你是如何坚持读完《
算法导论
》这本书的?
你是如何坚持读完《
算法导论
》这本书的?《
算法导论
》不够猛,答者顺便补充“你是如何坚持读完《计算机编程的艺术》这本书的?”
康斯但丁丶
·
2020-07-01 12:31
#
2
算法书籍
《
算法导论
》学习之旅-第十五章-动态规划
序言书中介绍动态规划比较复杂,看得不是特别地懂,我将从我自己理解的动态规划来做一些记录和介绍。什么是动态规划在说动态规划之前,我们先谈一谈斐波那契数列。斐波那契数列是第n个元素和第n-1个和第n-2个元素之和即f(n)=f(n-1)+f(n-2)(这个方程在DP里面也称为状态转移方程)。基于这个性质,我们很容易想到可以构建一棵递归二叉树:假如我们使用递归的算法的话,我们将会得到一个指数级的时间,这
Miller_em
·
2020-07-01 11:30
算法导论
《
算法导论
》学习之旅-第十二章-二叉搜索树
文章目录序言什么是二叉搜索树查询二叉搜索树查找最大关键字元素和最小关键字元素前驱和后继插入和删除插入删除总结序言搜索树数据结构支持许多动态集合操作,包括:SEARCH,MINIMUM,MAXIMUM,INSERT,DELETE,SUCCESSOR等。因此一个搜索树既可以作为一个字典又可以作为一个优先队列。二叉搜索树的基本操作所花费的时间与这棵树的高度成正比。对于一个n个结点的二叉搜索树,他的期望时
Miller_em
·
2020-07-01 11:00
算法导论
《
算法导论
》学习之旅-第十章-基本数据结构
文章目录序言栈和队列栈队列链表链表的搜索链表的插入链表的删除指针和对象的实现对象的多数组表示对象的单数组表示有根树的表示二叉树分支无限制的有根树序言在本章中,我们将会讨论如何使用指针的基本数据结构来构造动态集合,下面主要介绍:栈,队列,链表和有根树,此外还要介绍由数组构造对象和指针的方法。栈和队列栈和队列都是动态集合,对他们的删除操作都是设定好的。在栈中的删除操作采用的是先进后出策略;而在队列当中
Miller_em
·
2020-07-01 11:59
算法导论
《
算法导论
》读书笔记-第六章-堆排序(HEAPSORT)
文章目录序言堆什么是堆最大堆和最小堆特性及二叉树的常用性质维护堆的性质建堆堆排序算法问题总结序言在算法中,排序算法是尤为重要,在多种排序算法中,从时间效率上来看的话,效率比较高的排序算法主要是:归并排序,堆排序,快速排序。前面两个的时间复杂度是Θ(nlgn),后面一个的期望时间复杂度为Θ(nlgn)。本文主要围绕堆排序展开讨论。堆什么是堆堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常
Miller_em
·
2020-07-01 11:59
算法导论
《
算法导论
》-读书笔记-第七章-快速排序(QUICKSORT)
序言快速排序,顾名思义就是具有较快的排序速度,它利用了跟归并排序一样的分治思想。它同时是一种原址性的排序方法,最好情况下的时间复杂度为O(nlgn),最坏情况下的时间复杂度为O(n2)。快速排序的描述快速排序利用的是分治思想,既然用到的是分治思想,那么对于A[p…r]自然就有分解,解决,合并的过程:分解:数组A[p…r]被划分成两个子数组A[p…q-1]和A[q+1,r],使得A[p…q-1]中的
Miller_em
·
2020-07-01 11:59
算法导论
【
算法导论
-006】冒泡排序及其优化(BubbleSort)
1、问题来源【
算法导论
】P402-22、java实现参考:http://blog.csdn.net/wdzxl198/article/details/8896447最基本的方案就不赘述了,下面主要谈两类优化策略
只想瞪你一眼~
·
2020-07-01 08:54
《算法导论》学习
算法导论
-贪心策略
贪心的基本步骤:1)决定问题的最优子结构;2)设计出一个递归解;3)证明在递归的任一阶段,最优选择之一总是贪心选择。那么,做贪心选择总是安全的;4)证明通过做贪心选择,只有一个子问题;5)设计出一个实现贪心策略的递归算法;6)将递归算法转换成迭代算法。更一般的,可以用下面的方式来描述:1)将优化问题转化成先做出选择,再解决剩下的一个子问题;2)证明原问题总是有一个最优解是做贪心选择得到的,从而证明
weixin_34110749
·
2020-07-01 05:08
算法导论
第7章部分习题解答
习题7-6//此题本质就是对间隔区间进行排序//本程序核心在于提出公因子//有交叉的区间属于相等区间程序见下面网址(已经写的很好了)http://blog.csdn.net/mishifangxiangdefeng/article/details/7681109习题7-3时间复杂度T(n)=3T(2n/3)+O(1)习题7-4此题介绍的是采用尾递归的方式改进快速排序的堆栈深度对于(c)问,要保证最
huangjxbuaa
·
2020-07-01 02:01
《
算法导论
》学习之旅-第十一章-散列表
文章目录序言直接寻址表散列表通过链接法解决冲突散列函数除法散列法乘法散列法全域散列表开放寻址法线性探测法平方探测法双重散列法序言许多应用需要一种动态集合结构,他至少支持插入,查找,删除等字典操作。而散列表就是一种实现字典操作的有效数据结构。直接寻址表当关键字的全域U比较小时,直接寻址是一种简单而有效的技术。为表示动态集合,我们使用了一个数组(也称为直接寻址表),记为T[0…m-1],其中每一个位置
Miller_em
·
2020-07-01 01:01
算法导论
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他