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
【算法导论】
第二部分--排序和顺序统计学-第6章--堆排序
说明:该系列博客整理自《
算法导论
(原书第二版)》,但更偏重于实用,所以晦涩偏理论的内容未整理,请见谅。另外本人能力有限,如有问题,恳请指正!
黑夜0411
·
2020-08-22 10:15
算法学习笔记——常用十个排序算法汇总
常用排序算法汇总1、插入排序简介:作为
算法导论
上的第一个排序算法,插入排序理解起来不难。
永痕芝兰
·
2020-08-22 04:58
算法笔记
C++
第三部分--数据结构-引言
说明:该系列博客整理自《
算法导论
(原书第二版)》,但更偏重于实用,所以晦涩偏理论的内容未整理,请见谅。另外本人能力有限,如有问题,恳请指正!
黑夜0411
·
2020-08-22 03:36
《
算法导论
》中动态规划习题15-6--在棋盘上移动
问题描述:假设有一张n*n个方格的棋盘以及一个棋子,必须根据以下的规则把棋子从棋盘的底边移动到棋盘的顶边,在每一步你可以把棋子移动到三个方格中的一个:1、正上方的方格。2、左上方的方格(只能当这个棋子不在最左列的时候)3、右上方的方格(只能当这个棋子不在最右列的时候)每次从方格x移动到方格y,会得到p(x,y)块钱。已知所有(x,y)的p(x,y),只要从x到y的移动是合法的。不要假设p(x,y)
jtlyuan
·
2020-08-22 01:18
数据结构与算法
如何阅读计算机科学类的书
这其中不乏《21天学会JAVA》这样的语言入门书籍,也有《
算法导论
》这样的专题书籍,也有《人月神话》这样关于软件管理学的实用性的书籍。
原文链接
·
2020-08-22 01:43
读书
动态规划+最长回文子串
掌握经典的动态规划问题的解法,理解状态的定义的由来、会列出状态转移方程;然后再配合适当难度的问题的练习;有时间和感兴趣的话可以做一些不太常见的类型的问题,拓宽视野;「动态规划」讲得比较好的经典书籍是《
算法导论
JIAY_WX
·
2020-08-22 00:46
【面经笔记】好未来 - 已挂
2、输入流的频率TOPk问题,引出堆的实现我先实现了
算法导论
中自顶向下的维护堆的函数MAX_HEAPIFY()。
xiaxzhou
·
2020-08-21 23:57
面试题
面试题
算法导论
课后习题解析 第四章 下
4.5-1a)$$a=2,b=4,f(n)=\Theta(1),\log_ba=\frac12\gt0$$符合情况1,$T(n)=\Theta(n^{1/2})$b)$$a=2,b=4,f(n)=\Theta(n^{1/2}),\log_ba=\frac12$$符合情况2,$T(n)=\Theta(n^{1/2}\lgn)$c)$$a=2,b=4,f(n)=\Theta(n),\log_ba=\f
weixin_30794499
·
2020-08-21 22:01
关于shell排序的一点理解
以前大学老师讲shell排序,当时鄙人我睡眼惺忪,意识模糊,听得一知半解,时隔多年,今日闲暇,拜读《
算法导论
》看到shell排序,勾起了我的编程欲望,当要一探究竟。
Shldreamfly
·
2020-08-21 19:49
数据结构与算法
Java
力扣学习路径
然后就是刷题+总结思考这个不能再简单了吧……《
算法导论
》呗……『算法第四版』挺适合入门的,跟着例子和习题做一遍多练就好了,这种东西也是熟能生巧。记得做题目要踏实,要搞明白里面的每个知识点,每一行代码。
不思考就变草履虫
·
2020-08-21 13:50
学习和生活规划
贪心算法极速入门
在《
算法导论
》中,讲到高级算法的时候,认为主要有三类,即:动态规划、贪心算法和平摊分析。这里通过一个经典小例子介绍一下贪心算法,可以让我们极速掌握贪心算法的思想。
天岸马是神马
·
2020-08-21 09:22
C++专区
算法学习--排序、图、回溯(最小冲突、遗传)、动态规划基础算法复习
主要参考《
算法导论
》(IntroductionofAlgorithm[ThirdEdition])和维基百科。目录文章目录算法学习算法入门内容目录排序图回溯动态规划小结其中排
V2beach
·
2020-08-21 08:04
C/C++
算法导论
之插入排序和归并排序
作为一名前线的码农不时地看一下算法和数据结构还是很有必要的,虽然《
算法导论
》这本书很难啃,但还是有必要啃一下的。
weixin_34384681
·
2020-08-21 06:32
算法导论
Java实现-随机化数组的两种方式(5.3章节)
packagelhz.algorithm.chapter.five;/***随机数组两种实现,《
算法导论
》第五章第三节*本文地址:http://mushiqianmeng.blog.51cto.com/
weixin_33805992
·
2020-08-21 06:42
计算机书籍下载
计算机书籍基础:《
算法导论
》该书是一本十分经典的计算机算法书籍,与高德纳(DonaldE.Knuth)的《计算机程序设计艺术》(TheArtOfComputerProgramming)相媲美。
戴桥冰
·
2020-08-21 04:01
书籍
算法导论
算法导论
说明:文章里面所有下标都从0开始,这里跟
算法导论
不同,
算法导论
从1开始插入排序1.从序列AnA_nAn中取出一元素AjA_jAj,j∈_j\inj∈[1,n],让AjA_jAj与[A0,Aj−1
封狼居胥_COU
·
2020-08-21 04:51
算法
《
算法导论
》第5章两种随机化数组方法Java实现
publicclassRandomArray{privatestaticint[]arrayOne=newint[]{1,2,3,4,5,6,7,8,9,10,11,12,13};privatestaticint[]arrayTwo=newint[]{1,2,3,4,5,6,7,8,9,10,11,12,13};publicstaticvoidmain(String[]args){//随机方式一,
locallucky
·
2020-08-21 04:43
算法导论
算法导论第5章
算法导论
第二章习题
算法导论
第二章习题笔记文章目录
算法导论
第二章习题笔记习题2.1-2:重写插入排序过程,使之按非升序(而不是非降序)排序。
hwl19951007
·
2020-08-21 03:03
算法导论
2018年的读书清单
《别做正常的傻瓜》《人人都是架构师》《领域驱动设计和模式实践》《JavaScript设计模式与开放实践》《JavaScript正则表达式迷你书》《大话设计模式》(第4遍阅读)《
算法导论
》缓存,数据库优化库表拆分
ange1008
·
2020-08-21 02:56
数据结构二三事之第一话:二叉堆(上)
堆,很essential的数据结构,可惜严老大那本书没有怎么重视的感觉,但《
算法导论
》上有。可能严老大有自己的考虑。
fairyroad
·
2020-08-20 23:14
算法
数据结构
算法
insert
delete
python
merge
也许是史上最不良心的低阶计算几何讲解和习题集??
.-2.可能会用到的资料:《计算几何——算法与应用》Mark·Overmars著邓俊辉译《计算几何导论》[美]F·P·普霍帕拉塔M·I·沙莫斯著——好像是一些没什么用的东西呢《
算法导论
——第3
weixin_30354675
·
2020-08-20 21:42
快速数论变换(NTT)
FFT的复数精度问题让我很不爽,
算法导论
上确实提了一下可以用数论的方法实现傅立叶变换,可是我一直不知道怎么搞,现在终于找到了质料以下内容转自ACdreamers(http://blog.csdn.net
zz_1215
·
2020-08-20 21:33
Fibonacci Heap实现
本算法是对<
算法导论
>相关章节伪代码的实现:先贴代码:#include#include#includeusingnamespacestd;classFibonacciHeap;classnode{friendclassFibonacciHeap
吴钩揽月
·
2020-08-20 18:00
算法码源
日经
类库
排序算法
创新工厂笔试题------数组反序个数
创新工场的这道求反序个数的题就是
算法导论
中的题目。其实是对归并排序做些修改,算法的复杂度是nlgn。程序代码如下://算法思想:并归排序数组S#include"stdafx.
feidewu
·
2020-08-20 16:15
算法导论算法
算法导论
第22章 22.1-3
#includeusingnamespacestd;typedefstructGnode{intindex;structGnode*next;}Gnode;intN,M;//N表示顶点,M表示边,有向图intmain(){scanf("%d%d",&N,&M);int**area=newint*[N];int**area2=newint*[N];inti,j;for(i=0;inext!=NULL
AndrewThompson
·
2020-08-20 13:21
算法导论(算法实现与习题解答)
算法导论
第22章 图的基本算法(一)
这篇博客讨论图的基本算法第一部分,包括两点内容:1、22.1节课后习题算法;2、广度优先搜索。对于深度优先搜索由于有递归形式以及非递归形式,还有对边类型和课后习题等等,内容较多,将重新开辟一章。本章算法中主要采取的图的表示图的表示比较简单,在此就不再讨论。我们约定一下,在本章中各种算法的图的相关表示,便于后续算法的讨论。约定如下:1、边节点结构;structedgeNode{//边节点size_t
bravepam
·
2020-08-20 13:18
算法和数据结构
算法导论
· 贪心策略 · kruskal算法
算法说明克鲁斯卡尔算法,利用边贪心,先对边排序,每次加入最小的边,使用并查集,判断边的端点是否已经在同一个集合中即确定要不要加入这条边源代码#include#include#includeusingnamespacestd;#definemaxn1000+1structedge{intu,v,cost;node(inta,intb,intc){u=a;v=b;cost=c;}};intn,m;//
YDDUONG
·
2020-08-20 13:57
Algorithm
《
算法导论
》第24章 单源最短路径
单元最短路径问题单源最短路径问题,试图解决从一个原点到图中其他所有点的最短路径问题。此问题的变体有单终点最短路径问题,单终点最短路径问题和每对顶点间最短路径问题。可以相应理解为一对多、多对一、一对一和多对多的映射关系。负权值边和负权回路某些权值可以是负的,这些边称为是负权值边。负权回路指的是构成整个回路各边的权值和为负。若不存在负权回路,只有负权值边,那么最短路径的定义依然正确;若存在负权回路,那
张小彬的代码人生
·
2020-08-20 13:57
算法
算法导论
第23章 KrusKal算法 Prim算法
终于写出来了,这个算法的准备工作也忒多了,先打好图的结构的基础,然后写一个实现不相交集合的数据结构,然后结合这两个结构完成这个算法。写了两天,终于把这些都解决了,今天终于出来成果了,好激动,好\(≧▽≦)/,忍不住欢呼雀跃,功夫都没白费,不枉费我这星期六日还在写,嘿嘿~~~~~图的最小生成树算法两种算法,一个是kruskal,一个是Prim1)Kruskal思路很简单,1、最开始时,每个结点都看成
xlf13872135090
·
2020-08-20 13:18
数据结构
算法导论
算法导论
第24章 单源最短路径
最短路径问题有最优子结构:最短路径的子路径也是最短路径。如果图中不包含从源节点s可以到达的权重为负值的环路,则对于所有的结点v,最短路径权重有精确定义。不存在最短路径的两种情况:1、从结点s到v的某条路径上存在权重为负值的环路,则δ(s,v)=-∞2、从结点s到v不存在路径,,则δ(s,v)=∞最短路径都是简单路径,且不存在环本章中有三个最短路径算法1、Bellman-Ford算法:解决的是一班情
xlf13872135090
·
2020-08-20 13:18
数据结构
算法导论
《
算法导论
》第23章——最小生成树
虽然写这个博客主要目的是为了给我自己做一个思路记忆录,但是如果你恰好点了进来,那么先对你说一声欢迎。我并不是什么大触,只是一个菜菜的学生,如果您发现了什么错误或者您对于某些地方有更好的意见,非常欢迎您的斧正!23.1最小生成树的形成在上图中,就是边cd。这两个定理看不懂没关系,不影响后面学习Kruskal算法与Prim算法。23.2Kruskal算法和Prim算法Kruskal算法我的理解:1
Claire_TJ
·
2020-08-20 13:04
算法导论
《
算法导论
》第22章——基本的图算法
虽然写这个博客主要目的是为了给我自己做一个思路记忆录,但是如果你恰好点了进来,那么先对你说一声欢迎。我并不是什么大触,只是一个菜菜的学生,如果您发现了什么错误或者您对于某些地方有更好的意见,非常欢迎您的斧正!图的搜索指的是系统化地跟随图中的边来访问图中的每个结点。22.1图的表示权重图:图中的每条边都带有一个相关的权重的图。该权重值通常由一个w:E→R的权重函数给出。例如,设G=(V,E)为一
Claire_TJ
·
2020-08-20 13:04
算法导论
算法导论
——DFS深度优先搜索
2019独角兽企业重金招聘Python工程师标准>>>packageorg.loda.graph;importorg.loda.structure.Stack;/****@ClassName:DFS*@Description:深度优先搜索(无向图)*@authorminjun*@date2015年5月24日上午4:02:24**/publicclassDFS{//原点privateints;//v
weixin_34216196
·
2020-08-20 13:07
算法导论
学习笔记(18)——单源最短路径(Dijkstra算法实现)
Dijkstra算法的基本思想是:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径v,···vk,就将vk加入到集合S中,直到全部顶点都加入到S中,就结束了),第二组为其余未确定最短路径的顶点集合(有U表示),按最短路径长度的递增顺序依次把第二组的顶点加入到S中,在加入的过程中,总保持从源点v到S
xiangzhang321
·
2020-08-20 13:33
算法导论
算法导论
-第22章-基本的图算法-22.1 图的表示
一、综述图的表示方法通常有两种,即邻接表表示法和邻接矩阵表示法。这两种方法都可以表示有向图和无向图1.邻接表表示法(1)用邻接表表示无向图(2)用邻接表表示有向图(3)邻接表的优点及适用场合使用邻接表表示稀疏图比较紧凑2.邻接矩阵表示法(1)用邻接矩阵表示无向图(2)用邻接矩阵表示有向图(3)邻接矩阵的优点与适用场合用邻接矩阵表示稠密图可以很快地判别两个给定顶点是否存在邻接边二、代码1.邻接表表示
思翊
·
2020-08-20 13:11
数据结构和算法
算法导论
第二十四章:单源最短路径
在单源路径问题中常涉及到松弛技术(Relaxation),其原理如下:Bellman-Ford算法该算法主要是解决边的权重可能为负的情况。伪代码如下:EG:运行时间:O(VE)。Bellman-Ford算法的一个重要应用是差分约束(DifferenceandConstraints),其原理如下:对于一个差分约束Ax#includeusingnamespacestd;typedefcharvType
iffTimes
·
2020-08-20 13:41
Data
Structure
and
Algorithms
【
算法导论
】最小生成树之Kruskal法
在图论中,树是指无回路存在的连通图。一个连通图的生成树是指包含了所有顶点的树。如果把生成树的边的权值总和作为生成树的权,那么权值最小的生成树就称为最小生成树。因为最小生成树在实际中有很多应用,所以我们有必要了解怎样生成最小生成树。构造最小生成树的两种常用方法:Kruskal算法、Prim算法。本文介绍Kruskal算法,Prim算法在下篇文章中介绍。Kruskal算法是从另一条途径来求网络的的最小
nineheaded_bird
·
2020-08-20 13:56
C/C++
算法
算法之道
Dijkstra算法——《
算法导论
》学习心得(十三)
个人blog迁移到www.forwell.me这两天在做一个项目,关于北京市出租车的,然后用到了Dijkstra算法,所以这篇文章就先写Dijkstra算法了。在大二下的时候学了数据结构,书里面也讲了Dijkstra算法,但是当时怎么也没理解,结果考试的时候就考了,哎蛋疼!现在用到了,又得硬着头皮去学,结果很快弄明白了,只是在写代码时出了一些很低级的错误,调Bug用了不少时间。最后总结只能说:不是
小小程序猿_
·
2020-08-20 13:23
算法导论
“学习笔记”之《
算法导论
》----第六部分----图算法----第二十三章----最小生成树
本人大四即将结束,于2018年12月18日购《
算法导论
》这本书,慢慢看,第一阶段先主要理解各个章节说的算法都是什么意思,书上的课后习题先不做,用得上什么算法我再详细学习。这是官方课后答案的链接。
Mr.Naruto
·
2020-08-20 13:15
算法导论
MIT
算法导论
-第12讲-最小生成树-Kruskal算法+并查集
基本思想Kruskal算法构造最小生成树的过程为:先构造一个只含n个顶点,而边集为空的子图,若将该子图中各个顶点看成是各棵树上的根结点,则它是一个含有n棵树的一个森林。之后,从网的边集E中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,也就是说,将这两个顶点分别所在的两棵树合成一棵树;反之,若该条边的两个顶点已落在同一棵树上,则不可取,而应该取下一条权值最小的边再试之。依次类
清文
·
2020-08-20 12:26
算法导论
算法导论
第二十三章 最小生成树
def:对于图G(V,E)集合E中的边带有权重,存在一个包含所有节点的树并树边为E的子集,使得所有边的权重最小,则该树称为最小生成树。32.1最小生成树的形成我们使用贪心算法来找到一个最小生成树23.2Kruskal算法和Prim算法两个算法一个直接对边权重大小进行排序,一步步加入到树中;另一个则是根据跨越分割的边(既从树节点到未加入树的节点的边)的权重来选择节点。示意图如下:实现代码如下:cla
pokeyode
·
2020-08-20 12:49
算法笔记
算法导论
学习笔记(七):贪心算法
转载请注明原作者@yoshino,强烈要求支持TOC目录和数学公式的输入!更新不及时,有空慢慢写吧,原文是写在Bear上粘贴来的,可能格式有点乱。具体的工程在我的github上。贪心算法(greedyalgorithm)在每一步都做出当时看起来最佳的选择,通过做局部最优的选择,寄希望这样的选择能导致全局最优解。贪心算法并不能保证一定能得到最优解,但是对于很多问题确实可以的到最优解。贪心算法设计过程
yoshino
·
2020-08-20 12:21
算法导论
第22章:基本的图算法
目录图的表示特殊的图图的遍历拓扑排序(TopologicalSort)强连通分量(StronglyConnectedComponents)欧拉回路(EulerianCircuit)题选图的表示1.邻接矩阵(AdjacencyMatrix)2.邻接链表(AdjacencyList)3.完善邻接链表(ImplementingAdjacencyList)4.握手定理:无向图所有结点的度之和=边数*2特殊
Salmon_lee
·
2020-08-20 12:29
算法导论
算法导论
-用于不想交集合的数据结构(并查集)-kruskal最小生成树算法
并查集学习:并查集:(union-findsets)一种简单的用途广泛的集合.并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。并查集的精髓(即它的三种操作,结合实现代码模板进行理解):1、Make_Set(x)把每一个元素初始化为一个集合初始化后每一个元素的父亲节点是它本身,每一个元
JKhere
·
2020-08-20 12:33
算法导论
&&
ACM
算法导论
-第22章-基本的图算法-22.3 深度优先搜索-22.3-7-使用栈来代替递归实现DFS
题目:重写过程DFS,利用一个栈来消除递归代码:#include#includeusingnamespacestd;#defineN10#defineWHITE0#defineGRAY1#defineBLACK2//边结点结构structEdge{intstart;//有向图的起点intend;//有向图的终点inttype;//边的类型Edge*next;//指向同一个起点的下一条边Edge(i
思翊
·
2020-08-20 12:16
数据结构和算法
算法导论
习题解-第22章基本的图算法
总结深度优先搜索按照访问顺序,每个顶点标记两个序号,首次访问时的次序,以及探索完该顶点所有分支时的次序。边可以分成四种:树边,前向边,后向边(回边),横向边。(图片来自算法概论bydasgupta)有向无环图和拓扑排序有向图有环当且仅当DFS过程中遇到回边。有向无环图中每一条边都指向一个finish值更小的顶点。对于DFS,无环性、可线性化、无回边三者是等价的。拓扑排序的两种方式:(1)由上述性质
groovy2007
·
2020-08-20 12:13
算法
《
算法导论
》笔记 第22章 总结与思考
【总结】【思考】22-1通过广度优先搜索对边进行分类22-2挂接点、桥以及双连通分支a)G_π的根是G的挂接点,当且仅当在G_π中该根顶点至少有两个子女。b)设v是G_π中的某一非根顶点,证明v是G的挂接点当且仅当v有一个子顶点s,使得不存在从s或s的任何后裔顶点指向v的某个真祖先顶点的反向边。c)设low[v]=min(d[v],d[w]),d[w]:对v的后裔u,(u,w)是反向边试说明对所有
cyendra
·
2020-08-20 11:57
算法导论
算法导论
从零单排
2016.11.30开始,每周两章。2.1-1以图2-2为模型,说明INSERTION-SORT在数组A={31,41,59,26,41,58}上的执行过程31,41,5926,31,41,59循环*326,31,41,41,59循环*126,31,41,41,58,59循环*12.1-2重写过程INSERTION-SORT,使之按非升序(而不是非降序)排序forj=2toA.length{key
晨辰辰辰辰
·
2020-08-20 11:39
算法导论
第22章部分答案
参考https://blog.csdn.net/github_35807147/article/details/7911080122.1-1给定有向图的邻接链表,需要多长时间才能计算出每个结点的出度(发出的边的条数)?给定时间才能计算出每个节点的入度(进入的边的条数)?一个图G(V,E),(V为点数,E为边数),邻接链表空间为O(V+E)。而邻接表要遍历,因此计算每个节点的出度和入度的总时间都为O
是Mally呀!
·
2020-08-20 11:40
断篇
算法导论
| 第24章 单源最短路径
零、基础1、单源最短路径问题:给定一个图,找到从给定源结点s,到每一个结点v的最短路径。2、可以在这个问题上进行扩展:①单目的地最短路径问题:找到从每个结点v到目的地t的最短路径。----将图的每个边的方向翻转,求解单源最短路径问题(这里必须要通过翻转边的方向,才能有下一步的遍历,不能简单的看从t到v的最短路径!)②单节点对最短路径问题:找到指定结点u到指定结点v的最短路径。③所有结点对最短路径问
solar一抹阳光
·
2020-08-20 11:01
算法导论
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他