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
算法导论——python实践
《
算法导论
》第二章 入门
2.1InsertionsortPseudocodeisusedtospecifyagivenalgorithminEnglish.Issuesofdataabstraction,modularity,anderrorhandlingareoftenignoredinordertoconveytheessenceofthealgorithmmoreconcisely.伪代码与真实代码的区别只是伪代
iteye_3224
·
2020-08-03 00:38
Java实现
算法导论
中最长公共子序列(LCS)动态规划法
1、问题:求两字符序列的最长公共字符子序列LCS2、求解:动态规划法动态规划的思路就是用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置。如下表:改进矩阵,如果左上角非零且本身值是1,则在左上角值基础上加1,如下表:参考代码如下:packagecom.pub;importjava.util.Arra
fjssharpsword
·
2020-08-02 23:59
Algorithm
Java
算法导论专栏
POJ-3259(bellman-ford判断有没有负权路)
算法导论
362页,例子#defineEDGE2505*4#defineN505*2structEDGE_{intx,y;intvalue;}e[EDGE];intn,edge;//n是顶点数,m是边数intd
famousDT
·
2020-08-02 23:29
algorithm(图论)
struct
算法
最小生成树问题:算法分析 & Java 实现
2.图示如上图(这里借用的是《
算法导论
》一书中的图)所示,每条边上的数字表示权重。我们使用阴影边连接了所有的顶点,并保证了其总权重是最小的。注意最小生成树可能并不是唯一的,例如
阿飞__
·
2020-08-02 22:22
Java
数据结构和算法
poj1287解题报告
有疑问的可以百度Prim或参考
算法导论
的相关章节具体代码如下,Memory180
董成荣
·
2020-08-02 21:33
解题报告
算法导论
第16章练习题 16.1-4
16.1-4假设有一组活动,我们需要将它们安排到一些教室,任意活动都可以在任意教室进行。我们希望使用最少的教室来完成活动。设计一个高效的贪心算法,求每个活动应该在哪个教室来进行。(这个问题也被称为区间图着色问题。我们可以作出一个区间图,其顶点为已知的活动,其边连接着不兼容的活动。要求使用最少的颜色对顶点进行着色,使得所有相邻顶点颜色均不相同——这与使用最少的教室完成所有的活动的问题是对应的。)下面
六种鱼
·
2020-08-02 19:12
贪心算法
java8HashMap源码阅读
先说结论,看完了除TreeNode的部分,红黑树的操作太头疼了(主要是源码很多代码进行了合并之类的,效率高,可读性差),还好我之前看过红黑树,关于红黑的,可以看我的另一个文章
算法导论
之第十三章-红黑树HashMap
孤竹彧
·
2020-08-02 18:06
集合
算法导论
学习笔记之二--分而治之(divide-and-conquer approach)
如果一个问题当它的规模缩小的时候,问题性质不变,并且问题的规模最小的时候简单可解,就可以采用divide-and-conquer方法。divide-and-conquer分以下4步进行:攻克:如果问题足够小,可以直接给出答案分解:把问题分解成同样性质的几个子问题递归:递归调用本算法来解决子问题合并:把解决好的子问题合在一起,组成原有问题的答案#假设问题为p,问题的数据集为A,规模为N#解决下标从R
institute
·
2020-08-02 18:32
算法
算法导论
红黑树性质的理解
【
算法导论
】红黑树详解之一(插入)2015年02月11日⁄综合⁄共7264字⁄字号小中大⁄评论关闭本文地址:http://blog.csdn.net/cyp331203/article/details/
jack_ooneil
·
2020-08-02 17:38
数据结构和算法
【
算法导论
】22.2-7 树的直径问题
树的直径是指树的最长简单路。求法:两遍BFS:先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径;原理:设起点为u,第一次BFS找到的终点v一定是树的直径的一个端点证明:1)如果u是直径上的点,则v显然是直径的终点(因为如果v不是的话,则必定存在另一个点w使得u到w的距离更长,则于BFS找到了v矛盾)2)如果u不是直径上的点,则u到v必然于树的直径相交
李亚超
·
2020-08-02 15:28
C/C++
算法导论
结构之美——优先队列三大结构(一)——二项堆
资料主要参考《
算法导论
》和或互联网。《
算法导论
》第19章讲到了二项堆1.二项堆简介二项堆是二项堆是由一组二项树组成,在给出二项堆的定义之前,首先我们来定义什么是二项树。
小熊不去实验室
·
2020-08-02 13:26
数据结构
Introduction
to
Algorithms
算法导论
(一):快速排序与随机化快排
买的《
算法导论
》一直没有认真地看一看,下来要找实习找工作,为了做准备,也是为了复习一下算法,便扒出来好好学一学,并做一些记录,免得我金鱼般的记忆使我看了和没看一样。快
haelang
·
2020-08-02 13:32
算法导论
算法
算法导论
java
快速排序
随机化快排
算法导论
之斐波那契堆
斐波那契堆,和二项堆类似,也是由一组最小堆有序的树构成。注意区别,不是二项树,是有根而无序的树。导论中,斐波那契堆只是具有理论上的意义,是以平摊分析为指导思想来设计的数据结构,主要是渐进时间界比二项堆有改善。斐波那契堆除去删除元素操作外,其他操作只有O(1)的平摊运行时间,而二项堆需要O(lgn)的最坏情况运行时间。但若要斐波那契堆能转化为实际应用,除要保证有相同平摊时间界限外,还需更简单的数据结
fjssharpsword
·
2020-08-02 13:18
Algorithm
算法导论专栏
算法导论
之二项堆
每件事物都有其应需而生的目的,既然存在了,一定有其出现的因和果。二项堆的存在,就是因为二叉堆在Union操作上性能不如意而被发明的。二项堆的Union操作只需O(lgn)时间就可以完成两个二项堆的合并(总共n个元素)。二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树)。二叉堆有两种:最大堆和最小堆。最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任
fjssharpsword
·
2020-08-02 13:17
Algorithm
算法导论专栏
python实践
爬取豆瓣各个标签的电影 爬虫
python实践
爬取豆瓣各个标签的电影实践题目爬取豆瓣电影中,华语、欧美、韩国、日本电影每个标签下按评价排序的全部电影,需要如下信息:(1)每个电影的电影名、导演、编剧、主演、类型、国家、上映日期、片长
metamoss
·
2020-08-01 14:31
python
字符串匹配之RK算法——学习笔记
RK算法是Rabin-Karp算法的简称,是经典的字符串匹配算法,在《
算法导论
》上是有介绍的,有兴趣的同学可以去看看。
jjwwwww
·
2020-08-01 12:44
基础算法学习
《
算法导论
》读书笔记
关于阅读《
算法导论
》的一些建议:不必纠结于数学的证明,例如递归表达式的时间复杂度计算;把一些当前重要的知识点(比如从第一部分到动态规划、贪心算法,高级数据结构B树那里)先
ReentrantSucc
·
2020-08-01 12:05
朴素字符串匹配——
算法导论
序字符串T=abcabaabaadac,字符串P=abaa,判断P是否是T的子串,就是字符串匹配问题了,T叫做文本(Text),P叫做模式(Pattern).算法思想朴素的字符串匹配过程可以形象的看成一个包含模式的“模板”P沿文本T移动,同时对每个位移注意模板上的字符是否与文本中的相应字符相等。外层循环的次数最多为len(s)-len(p),内层循环的次数最多为len(p).最坏情况下的时间复杂度
iteye_21199
·
2020-08-01 12:24
Java实现
算法导论
中朴素字符串匹配算法
朴素字符串匹配算法沿着主串滑动子串来循环匹配,算法时间性能是O((n-m+1)m),n是主串长度,m是字串长度,结合
算法导论
中来理解,具体代码参考:packagecn.ansj;publicclassNavieStringMatcher
fjssharpsword
·
2020-08-01 12:23
Algorithm
Java
算法导论专栏
全套字符串匹配算法
就算是
算法导论
上面,也只是除了以上两种方法外还有两种RK算法和有限自动机算法。这里对其他比较流行的算法进行一一的介绍一.BF算法首先是BF算法。
diaopan1958
·
2020-08-01 12:32
算法——字符串匹配之朴素算法
算法实现根据该算法的描述,这里给出
算法导论
中的伪代码,并根据伪代码给出具体实现代码,从代码中很清晰地看到该算法的时间复杂度。注:字符下标
逆风微积分
·
2020-08-01 11:11
数据结构与算法
数据结构与算法分析
字符串匹配 -- 朴素字符串匹配算法
朴素字符串匹配算法参考资料1
算法导论
朴素字符串匹配它用一个循环来找出所有有效位移,该循环对n-m+1个可能的每一个s值检查条件P[1..m]=T[s+1..s+m]。
麦兜NC粉
·
2020-08-01 11:15
字符串匹配
算法
算法导论
习题解答 4.1-2
4.1-2证明T(n)=2T(⌊n/2⌋)+n的解为O(nlgn)。证明这个递归的解也是Ω(nlgn),得到的解为Θ(nlgn)。证明:(1)假设T(⌊n/2⌋)=1,则有(1)=c⌊n/2⌋lg(⌊n/2⌋)。则有:T(n)>=2(c⌊n/2⌋lg(⌊n/2⌋))+n>=c(n-1)lg(n/4)+n=cnlgn-clgn-cnlg4+clg4+n(1)若c足够小,有(1)>=cnlgn,所以T
IndiaPrince
·
2020-08-01 10:38
算法导论习题解答
面试题精选(77):两有序数组的中位数求解
eachcontainingnnumbersalreadyinsortedorder.GiveanO(lgn)-timealgorithmtofindthemedianofall2nelementsinarraysXandY.题目是《
算法导论
yysdsyl
·
2020-08-01 08:53
(OpenCV)函数cv::partition解析
思想:该算法为《
算法导论
》(IntroductiontoAlgorythms)中Datastructuresfordisjointsets章节描述的不相交集的实现,算法思想见博文
沤江一流
·
2020-08-01 06:22
算法导论
专题开篇
《
算法导论
》(ISBN978-7-111-40701-0)这本书是我一个同事给推荐的,奈何当时确实是没有时间,虽神往之,却只能望洋兴叹。
_onePiece
·
2020-08-01 05:53
算法导论
-数据结构的扩张
算法导论
书上给出的是红黑树的一种扩张-动态顺序统计。将容量为n的随机样本的各个测定值(x1,x2,……,xn),从小到大顺序的排列,xi所在的顺序位置就是它的顺序统计量。
weixin_34192993
·
2020-08-01 04:02
《
算法导论
》读书笔记之第9章 中位数和顺序统计学
摘要:本章所讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素,并借助中位数进行优化处理,保证最坏保证运行时间是线性的O(n)。1、基本概念顺序统计量:在一个由n个
weixin_34138377
·
2020-08-01 04:12
NOIP2019复习(学习)计划
(争取回校前ak)拓展网课普及:随便看看提高:$1/10$书(大致(再)看一遍)《一本通提高篇》《挑战程序设计竞赛》《入门经典》《习题与解答》《进阶指南》《训练指南》《数学一本通》《一本通高手训练》《
算法导论
weixin_30386713
·
2020-08-01 03:25
135、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为 "cad"
abccade","dgcadde"的最大子串为"cad"/*35、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"不同于56的最长公共子串DP题
算法导论
上有
小人物_cipher
·
2020-08-01 02:56
面试杂七杂八
《
算法导论
》读书笔记--堆排序
预备知识:堆通常被看做一个近似完全的二叉树,使用数组A[1...N]表示堆,数组中一个元素代表堆上一个结点,堆存在以下性质:根节点:A[1]父结点:Parent[i]=i/2左子节点:Left[i]=2i右子节点:Right[i]=2i+1数组长度为:A.length数组中有效数据长度为:A.heap-size堆分为最大堆和最小堆,在最大堆中Parent[i]>=A[i],在最小堆中Parent[
刚入行的小白
·
2020-08-01 01:59
算法
从B树中删除关键字
《
算法导论
》练习18.3-2:请写出B-TREE-DELETE的伪代码。与插入情况相对称,除了根结点外(根结点个数不能少于1),B树的关键字数不能少于t-1个。
swordmanwk
·
2020-08-01 00:13
算法
《
算法导论
》第2章总结
《
算法导论
》第2章总结第2章算法基础本章主要通过引入插入排序算法来介绍“伪代码”,并学习分析运行时间,学习分治法及其相关应用。本章共有1个重点,已加粗并加下划线。
sprinting_victor
·
2020-08-01 00:36
《算法导论》总结
算法导论
《
算法导论
》第1章总结
《
算法导论
》第1章总结第1章算法在计算中的作用本章以基础定义及关于算法的评价性文字为主,辅以较多的实例,可略读,可重点画出一下几条:1.1←算法algorithm就是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出
sprinting_victor
·
2020-08-01 00:36
《算法导论》总结
HDU 2010
今天只刷了一道题目,并不是说不想刷了,只是想留一点时间去看一下mit
算法导论
课程,总共有23集,准备花一个多月的时间去看完这部经典的视频,我也买了配套这个视频的书本,很厚。
菜鸟辉的奋斗史
·
2020-08-01 00:44
入门题
算法导论
系列:贪心算法(1)
周末开始着手算法这一系列文章,说起写这一系列的初衷是发现网上很多的同学们在学习算法这个时候,会遇到很多困难,而学校书中讲的道理尽管很对,但是总是太过于晦涩,正确的知识总是晦涩,这点没错,但让晦涩的知识变得有趣岂不是也很有意思?回想起自己学习算法的过程中,遇到了不少的坑坑.特想写一些文章去记录下自己过程中的所思说想,也借这些文章自己复习学习一下.这系列文章主要包括几个大类的算法,包括贪心算法,分治法
云时之间
·
2020-07-31 23:32
python实践
课程作业Numpy初体验
第1关:Numpy创建数组任务描述本关的小目标是,使用Numpy创建一个多维数组。相关知识在Python中创建数组有许多的方法,这里我们使用Numpy中的arange方法快速的新建一个数组:importnumpyasnpa=np.arange(5)其中importnumpyasnp是指引入Numpy这个库,并取别名为np。之所以取别名,是为了代码编写的方便。a=np.arange(5)是指将数值0
s.猴仔
·
2020-07-31 21:12
python
算法导论
第二章:算法入门
本章介绍了一个贯穿本书的框架,后续章节的算法设计和分析都是在这个框架中进行的。首先分析了一下如何用插入排序来解决排序问题,定义了一种“伪代码”来描述算法。在描述了算法后,再证明他能正确的完成任务,并对运行时间进行分析。引入一种记号,侧重于表达运行时间是如何随着待排序的数据项数而增加的。之后还要介绍算法设计中的“分治法”,并利用该方法来设计一个称为合并排序的算法,对合并算法的运行时间进行了分析。插入
longhuihu
·
2020-07-31 19:30
《算法导论》
《
算法导论
》第9章:顺序统计、中值
本章主要解决的问题:求数列中第i小的元素一、排序+下标定位【最坏情况Θ(n*lgn)】二、随机化分治算法【平均情况Θ(n)】算法步骤1.随机选择主元2.线性时间内以主元划分为两部分,左半部分小于主元,右半部分大于主元。设主元的下标为k。3.根据情况选择:ifk==i:直接返回A[k]ifk>i:递归最半部分找第i小的数ifk#includeusingnamespacestd;intrandomiz
Salmon_lee
·
2020-07-31 19:32
算法导论
线性规划之单纯型算法
问题定义:问题定义比较复杂,建议看《
算法导论
》里的线性规划一章。
iteye_9380
·
2020-07-31 18:45
算法导论
基本数据结构
忙了几天来了吧,
算法导论
已经到第十章,以后会陆续讲课后习题和读书笔记写出来,后面的可能会比较详细一点。
中华丛迅
·
2020-07-31 18:20
算法导论读书笔记
算法导论
第六章之最大、最小堆
堆是很重要的一种数据结构,常常用在排序和优先队列的实现上,当然在C++STL中有优先队列的实现,但是者并不妨碍我们去学习他。堆其实是一种数组对象,也就是说他的数据全部都存储在数组中,它可以被视为一棵完全二叉树(不懂二叉树的请自行百度)。(二叉堆)堆有两种:最大堆和最小堆。最大堆通俗来讲,满足下面要求的完全二叉树为最大堆:除了根节点以外的每一个节点i,有:A[Parent]>=A[i]注:数组A[]
中华丛迅
·
2020-07-31 18:17
C++
算法导论读书笔记
单纯的输出一下今天的学的东西:不知有没有用,高级数据结构和图算法
今天学习了一下《
算法导论
》高级数据结构和图算法梳理一下今天说学,不知对大家有没有用1:斐波那契堆:这是一种最小堆,而且也是一种可合并堆,对于他的具体的结构我没有太是在意。
carry_bin
·
2020-07-31 16:51
HDU2037(简单贪心)
点击打开链接
算法导论
16.1#include#includeusingnamespacestd;structnode{ints,e;};boolcmp(nodea,nodeb){returna.e=flage
西风丶
·
2020-07-31 15:53
贪心
找出数组X和Y中所有2n个元素的中位数
算法导论
第三版,9.3-8算法:如果两个数组长度为1,选出较小的那个一个否则,取出两个数组的中位数。取有较大中位数的数组的低区和较低中位数数组的高区,组合成新的长度为n的数组。
吴海旭
·
2020-07-31 15:16
算法导论
数据结构和
算法导论
一、数据结构基本概念和术语数据:数据是对客观事物的符号表示。在计算机科学中其含义是指所有能够输入到计算机中并被计算机程序处理的符号集合。数值,声音,图像等都是数据。数据元素:数据元素是数据集合中的一个实体,是计算机程序中加工处理的基本单位。人类的数据元素就是一个人。数据项:一个数据元素可以由若干个数据项组成。比如人这样的数据元素,可以由眼、耳、口、鼻等数据项组成。数据对象:是具有相同性质的数据元素
yatesChiang
·
2020-07-31 15:50
数据结构和算法
数据结构与
算法导论
之入门简介
目前,计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据,这就给程序设计带来了一些新的问题。为了编写一个好的程序,必须分析待处理的对象的特征以及各处理对象之间存在的关系,这就是“数据结构”这门学科形成和发展的背景。“数据结构”作为一门独立的课程,在国外是从1968年才开始设立的。1、什么是数据结构?答:大量数据的组织方法。2、什么是算法分析?答:算法运行时间的估计。3、
成长Bar
·
2020-07-31 13:36
Data
Structures
and
Algorithm
【高级排序】之桶排序
注:时间复杂度实际为,再通过一些列化简后,可得到O(N)的时间复杂度,具体化简过程可详见《
算法导论
》。注:即使输入数据不服从均匀分布,桶排序也仍然可以在线性时间内完成。
justry_deng
·
2020-07-31 12:24
数据结构与算法
海量数据找中位数
腾讯一面问到了,用的
算法导论
中的Kth算法,期望时间复杂度为O(n)。后来想了想,万一数据多的来根本不能一次读入内存,这个时候该如何解决呢?
randyjiawenjie
·
2020-07-31 11:43
算法
《
算法导论
》9、三个线性时间排序(C++)
1、计数排序#include#includeusingnamespacestd;int*countingSort(int*A,intn,intk){int*B=newint[n];int*C=newint[k];for(inti=0;i=0;i--)B[(C[A[i]]--)-1]=A[i];delete[]C;returnB;}voidmain(){intn=10;//排序元素长度int*A=n
路人甲wttttt
·
2020-07-31 11:01
算法
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他