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实践
邻接矩阵表示图的深度优先搜索和广度优先搜索
同样,
算法导论
采用了“聪明的做法”,用三种颜色来标记三种状态。
herongweiV
·
2020-09-11 16:25
【算法总结】
【搜索】
数字图像处理的
python实践
(2)——灰度线性、对数、指数变换
我们目前比较好处理的对象是灰度图,因为它只有一个通道,也就意味着很多计算我们减少了一个维度,自然轻松一些。对于灰度图,首先要了解的是灰度直方图,也就是整体的图像中,灰度值的分布情况,通过直方图的形式来显示图片中是高灰度值的区域偏多还是低灰度值的区域偏多或者是其他情况,来指导我们后续的其他操作。以我们的之前转灰度的图片为例,结合matplotlib.pyplot库绘制归一化直方图的代码如下:from
渡边君
·
2020-09-11 08:57
python
数字图像处理的python实践
怎么提高编程能力?逻辑思维能力?
学习一门简单而且可用性强的语言,写点自动签到、自动下动漫之类的日常小程序,提高编程兴趣(比如python,可以选择教材LearnPythonTheHardWay)学习常见的算法和数据结构,根据个人喜好选择深浅不同的书籍,如《
算法导论
yyjava
·
2020-09-11 06:14
架构设计
模糊层次综合分析法
Python实践
及相关优缺点分析
模糊综合评价法(FCE,FuzzyComprehensionEvaluationMethod)是一种根据模糊数学隶属度理论把定性评价转化为定量评价的方法,它具有结果清晰,系统性强的特点,能较好地解决模糊的、难以量化的问题,适合各种非确定性问题的解决。FCE计算的前提条件之一是确定各个评价指标的权重,也就是权向量,它一般由决策者直接指定,但对于复杂的问题,例如评价指标很多并且相互之间存在影响关系,直
肖永威
·
2020-09-11 06:38
人工智能及Python
大数据
大数据
Python
模糊综合分析法
AHP
考核评价
AHP(层次分析法)学习笔记及多层权重
Python实践
层次分析法(Theanalytichierarchyprocess)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(TLsaaty)正式提出。它是将与决策有关的因素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教
肖永威
·
2020-09-11 06:38
人工智能及Python
决策分析
AHP
Python
层次分析法
算法导论
——红黑树插入算法C++实现
一、概念红黑树是一棵二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED或BLACK。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长2倍,因而是近似于平衡的。二、定义一棵红黑树是满足下面红黑性质的二叉搜索树:1、每个结点或是红色,或是黑色;2、根节点是黑色的;3、每个叶节点(NIL)是黑色的;4、如果一个结点是红色的,则它的两个
砺晗
·
2020-09-11 06:05
数据结构
算法导论
动态规划切割钢条
保存已经求得的子问题解自底向上#ifndef_MODEL_#define_MODEL_#include#includeusingstd::vector;usingstd::map;intmax(inta1,inta2){if(a1>=a2)returna1;elsereturna2;}intfunction(intlength,mapdata){vectorVecMax;intMax=0;for(
健十一
·
2020-09-11 05:45
B树的java源码实现
清明节这几天闲来无事,参考《
算法导论
》第二版第十八章的思想使用java语言实现了一颗简单的B树,在此跟大家分享下,就当是抛砖引玉,欢迎大家跟我讨论。
wangpingfang
·
2020-09-11 04:04
算法与数据结构
算法导论
红黑树的扩张 动态顺序统计
#include#include#defineRED1#defineBLACK0typedefstructRBTreeNode{intkey;intcolor;intsize;RBTreeNode*p;RBTreeNode*left;RBTreeNode*right;}RBT,*pRBT;pRBTnil=(pRBT)malloc(sizeof(RBT));intbh=0;voidinitNil()
万万岁
·
2020-09-11 02:05
算法导论
算法导论
第13章 红黑树
一、概念1.定义与性质(1)定义红黑树字义:满足(a)每个结点或是红的,或是黑的(b)根结点是黑的(c)每个叶结点(NIL)是黑的(d)如果一个结点是红的,则它的两个儿子是黑的(e)对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点的二叉查找树称为红黑树。黑高度定义:从某个结点x出发(不包括该结点)到达一个叶结点的任意一条路径上的黑色结点的个数称为x的黑高度。(2)性质红黑树确保没有
windmissing
·
2020-09-11 02:15
算法导论
《算法导论》答案
算法导论
题解(我的答案,欢迎指正) introduction to algorithms
onlinereading:http://books.google.com/books?id=NLngYyWFl_YC&pg=PA15&dq=introduction+to+algorithms&psp=1&sig=jX-xfEDWJU3PprUwH8Qfxidli6M#PPA382,M1*******************chp11.2-11.2-21.2-3n=15*************
lwl_ls
·
2020-09-11 02:27
红黑树的c语言实现
不得不说《
算法导论
》是一本非常厉害的书!我主要参考了《
算法导论
》和网络上其他一些优秀的红黑书原理的资料,实现了这个红黑树的代码。
code_mlym
·
2020-09-11 00:48
算法导论
算法导论
-红黑树C++实现
红黑树的定义:一棵二叉查找树如果满足下面的红黑性质,则为一棵红黑树:1)每个节点或是红的,或是黑的。2)根节点是黑的。3)每个叶节点(NIL)是黑节点。4)如果一个节点是红的,则它的两个儿子都是黑的。5)对每个节点,从该节点到其子孙节点的所有路径上包含相同节点数目的黑节点。C++代码实现:BRTreeNode.h#ifndefBRTREENODE_H_INCLUDED#defineBRTREENO
拳四郎
·
2020-09-10 23:54
数据结构与算法
poj 3714 (最近点对)
看了
算法导论
,发现了一种求最近点对的高效方法,就是在合并操作时只找每个点(已经按y排好序)以下的6个点。
weixin_33939380
·
2020-09-10 19:07
循环不变量求解数组问题
文章目录循环不变量原理快排移动0去掉指定元素排序数组去重排序数组只保留最多2个重复的元素循环不变量原理第一次看到循环不变量是在
算法导论
的快排里。一般是针对数组问题求解,需要2个指针。
CasterOxfd
·
2020-09-10 18:28
算法
算法导论
3-3
问题根据增长率来对下列函数排序;即找出函数的一种排列g1,g2,…,g30,使g2为g1的渐近下界,g3为g2的渐近下界,…,以此类推。将该序列划分为等价类,使f(n)和g(n)在同一个等价类中当且仅当g(n)是f(n)的渐近确界。给出非负函数f(n)的一个例子,使对任何在1中gi(n),gi(n)既不是f(n)的渐近上界也不是f(n)的渐近下界。分析通过第三章可知,从整体上讲,各类函数按增长性降
newdye
·
2020-09-10 18:30
算法
算法导论
3.2-4
问题函数是否多项式有界?函数呢?分析看了网上的分析,要用到---(1)感觉这样可以去掉常数k的干扰,首先来证明(1)证明:必要性:根据渐近上界定义,存在n0和c,当n>=n0时,lg(f(n))=n0时,对两边取对数得因为c为常数,所以肯定可以找到一个常数k1,使所以此时,存在正常数n0和k1,当n>=n0时即下面证明题目,问题就转换成lg(f(n))的渐近上届是否为lgn证明:因为所以又因为不难
newdye
·
2020-09-10 18:30
算法
算法导论
4-3
1题目参数传递的代价整个这本书中,我们都假定过程调用中的参数传递所花时间是常数,即使所传递的参数是N个元素的数组也是一样。这个假设对大多数系统都是有效的,因为当参数为数组时,所传递的只是指向该数组的指针,而不是该数组本身。本题讨论三种参数传递策略:数组是由一个指针来传递。时间=Θ(1)。参数数组通过复制而传递。时间Θ(N),N是该数组的大小。一个数组在被传递时,仅拷贝调用过程可能引用的数组的子域。
newdye
·
2020-09-10 18:59
算法
算法导论
4-4
1题目更多递归式的例子给出下列递归式的渐近上下界,给出的界尽量紧确。2分析与解答T(n)=3T(n/2)+nlgn,根据主定理T(n)=Θ(nlog23)T(n)=5T(n/5)+n/lgn,简单画出递归树,可得T(n)=∑i=0log5n-1n/lg(n/5i)+nT(1)=n∑i=0log5n-1(1/lg(n/5i))+Θ(n)=(n/lg5)∑i=0log5n-1(1/(log5n-i))
newdye
·
2020-09-10 18:59
算法
堆排序的应用
今天在回顾
算法导论
的过程中发现,堆排序,快排,归并排序的应用很广泛,重要的不是这种排序的方式,而是这种排序的思想值得我们学习。比如堆排序常用于中位数的查找,以及找出给定数组中最大(小)的k个数。
力扣小男孩
·
2020-09-10 15:27
刷题
算法导论
(第三版)第二章练习题2.2-1 考虑排序存储在数组A中的n个数...
题干如下:考虑排序存储在数组A中的n个数:首先找出A中最小元素并将其与A[1]中元素进行交换.接着,找出A中次小元素并惊奇与A[2]中元素进行交换.对A中前n-1个元素按该方式继续.该算法称为选择算法,写出其伪代码该算法维持的循环不变式是什么?为什么它只需要对前n-1个元素而非所有n个元素运行?用θ几号给出选择排序的最好情况与最坏情况运行时间.(1)functionaddAction(){$arr
moqiluoji
·
2020-09-10 15:21
算法导论
算法导论
算法导论
--贪心算法与动态规划(活动选择问题)
活动选择问题有一个教室,而当天有多个活动,活动时间表如下:找出最大兼容活动集!活动已按结束时间升序排序.动态规划采用动态规划需要满足两个条件:1.最优子结构2.子问题重叠令Sij表示在ai结束后和aj开始前活动的集合,假定Aij为活动集合Sij的最大兼容子集,其中包含活动ak。问题变成求Sik与Skj最大兼容活动子集Aik与Akjz。我们用c[i,j]表示Sij的最优解的大小。则c[i,j]=c[
勿在浮砂筑高台
·
2020-09-10 15:45
Algorithm
算法导论--学习笔记
算法与数据结构学习资源整理
在此列出给大家作为参考1.书籍:各种算法相关的书籍及其豆瓣评分(2019年3月16日)入门:《算法图解》8.4分《大话数据结构》7.9分经典:《数据结构与算法分析》9.0,有三个版本:java描述、c描述和c++描述《
算法导论
ThomasCT
·
2020-09-10 12:39
算法与数据结构
动态规划经典教学题,上过《算导》的应该都会
相信上过
算法导论
这门课的同学一定
TechFlow
·
2020-09-10 12:05
LeetCode
算法
“4年了,你还是没有啃完《
算法导论
》”
本文力荐|28天玩转算法训练营02期首图|何塞·维莱加斯·科尔德罗编辑|林瑟程序员都知道的三本算法书《算法》、《
算法导论
》、《算法图解》,但真正能读完的人少之又少。
csdn大数据
·
2020-09-10 12:28
算法导论
第八章线性时间排序课后答案
8.1排序算法的下界8.1-1在一颗比较排序算法的决策树中,一个叶结点可能的最小深度是多少?最少进行n-1次比较,所以深度最小是n-18.1-2不用斯特林近似公式,给出lg(n!)的渐近紧确界,利用A.2节介绍的技术来求累加和∑lgk.∫(lgk)dk=klgk-∫kd(lgk)=klgk-(1/ln2)k所以∑lgk=(nlgn-1lg1)-(1/ln2)(n-1)=nlgn-(1/ln2)(n
Flammable_ice
·
2020-08-26 16:36
《算法导论》
算法导论
— 8.2 计数排序
笔记假设输入的nnn个元素中的每一个都是在000~kkk内的一个整数。kkk表示了输入元素所处的范围。一般在kkk远小于nnn时,可以采用计数排序算法。计数排序的基本思想是:对每一个输入元素xxx,确定小于xxx的元素个数。利用这一信息,可以直接把xxx放到正确的位置。例如,如果有171717个元素小于xxx,则x就应该放在第181818个位置上。以下为计数排序的伪代码。假设输入数组为A[1..n
yangtzhou
·
2020-08-26 16:34
算法导论
算法导论
基数排序 习题8.3-4
问题:在O(n)时间内,对0到n^3-1区间内的n个整数进行排序思路:线性时间,考虑使用基数排序,基数排序时间为,要使时间为O(n),,即k=n,即把每个整数写成3位n进制数代码:#include#include#include#includeusingnamespacestd;//基于计数排序的n个数根据第i为排序voidCountSort(int*A,int*B,intn,intk){int*
臻舍
·
2020-08-26 16:52
算法导论
算法导论
8-4
问题:n个红色水壶和n个蓝色水壶,相同颜色水壶可盛的水都不一样多,但每一个红色水壶都有一个对应的蓝色水壶,二者可盛的水一样多。不同颜色的水壶可以互相比较判断可盛的水是否一样多。但是相同颜色的水壶不能相互比较。设计一个随机算法,其期望的比较次数为O(nlgn).思路:红色水壶和蓝色水壶比较,可在找到与其容量一样多的蓝色水壶的同时将剩下的蓝色水壶分为两组:容量比它大的和容量比它小的;利用找到的相同容量
臻舍
·
2020-08-26 16:21
算法导论
图论(三) -- 最短路径基础
那么这个系列也许久没有更新今天与大家谈论的是经典的最短路径问题1.先提出需要记住的概念方便后面的理解,许多内容参考
算法导论
以及eric的视频1.最短路径的表示2.路径权值和3.图的表示4.源点使用的记号
玉界尺
·
2020-08-26 15:32
图论
算法导论
笔记:25所有节点对的最短路径问题
本章考虑在给定的有向加权图G=(V,E),对于所有的节点u,v∈V,找到一条从节点u到节点v的最短路径。希望以表格的形式表示输出:第u行第v列给出的是节点u到节点v的最短路径权重。对于这个问题,如果是运行|V|次单源最短路径算法来解决所有节点对的最短路径问题,每一次使用一个不同的节点做为源节点。如果所有边的权值是非负的,可以采用Dijkstra算法。如果采用数组来实现最小优先队列,算法的运行时间为
weixin_30653023
·
2020-08-26 15:08
算法导论
习题24.1-4&24.1-5&24.1-6 (Bellman-Ford算法的变形)
24.1-4,问题描述:对Bellman-Ford算法进行修改,对任意顶点v,当从源点到v的某些路径上存在一个负权回路,则置d[v]=负无穷。24.1-5,问题描述:设G=(V,E)为一带权有向图,其权函数w:E->R。请给出一个O(VE)时间的算法,对每个顶点vinV,找出所有uinV中到达v点的路径的最短路径的值。24.1-6,问题描述:假定一加权有向图G=(V,E)包含一负权回路。请给出一个
weixin_30555753
·
2020-08-26 14:57
Particle Filter 粒子滤波 原理以及
python实践
二
本笔记学习于优达学城ArtificialIntelligenceforRobotics课程将粒子收敛本方法直接解释原视频中的方法,该作者说简单,高效,也不用多想什么,以后随便直接用就可以。紧接上一篇博客车轮法选取粒子p3=[]#初始化一个数组下标index=int(random.random()*N)beta=0.0#获取W中最大的那个数据maxw=max(w)#运行N次foriinrange(N
csdn_Flying
·
2020-08-26 14:07
机器人概率定位
【
算法导论
】单源最短路径之Bellman-Ford算法
单源最短路径指的是从一个顶点到其它顶点的具有最小权值的路径。我们之前提到的广度优先搜索算法就是一种无权图上执行的最短路径算法,即在所有的边都具有单位权值的图的一种算法。单源最短路径算法可以解决图中任意顶点间的最短路径。对于单源最短路径问题,一般有两种经典解法:1.对于有权值为负的图,采用Bellman-Ford算法;2.对于权值全为正的图,常采用Dijkstra算法。本文介绍Bellman-For
nineheaded_bird
·
2020-08-26 14:35
C/C++
算法
算法之道
第二部分--排序和顺序统计学-第6章--优先级队列
说明:该系列博客整理自《
算法导论
(原书第二版)》,但更偏重于实用,所以晦涩偏理论的内容未整理,请见谅。另外本人能力有限,如有问题,恳请指正!
黑夜0411
·
2020-08-26 14:15
树的直径
树的直径(最长路)的详细证明两次BFS求树的直径(
算法导论
22.2-7)#include#include#include#include#include#includeusingnamespacestd
秦艺丹
·
2020-08-26 14:12
算法导论
第三版习题8.1
8.1-1最小深度为n−1,就像插入排序最好的情况一样,对已经排序好的序列排列的情况。8.1-2∑k=1nlgk≤∑k=1nlgn=nlgn所以,lg(n!)=O(nlgn).∑k=1nlgk=∑k=1n/2lgk+∑k=n/2+1nlgk≥∑k=n/2+1nlgk≥∑k=n/2+1nlg(n/2)=n2lgn2=n2lgn−n2lg2所以lg(n!)=Ω(nlgn).故lg(n!)=Θ(nlgn
obguy
·
2020-08-26 13:53
算法
算法导论
第三版习题8.4
8.4-1(1)首先n=A.length=10,然后让B[0...9]分别为一个空链表;(2)遍历数组A,将数组A中每一个元素A[i]都加到链表B[⌊nA[i]⌋]中,得到B[0]=∅,B[1]={0.13,0.16},B[2]={0.20},B[3]={0.39},B[4]={0.42},B[5]={0.53},B[6]={0.64},B[7]={0.71,0.79},B[8]={0.89},B
obguy
·
2020-08-26 13:53
算法
算法导论
第三版习题8.2
8.2-1(a)首先通过第4到第5行,数组C={2,2,2,2,1,0,2},然后经过第7行到第8行,数组C={2,4,6,8,9,9,11}。(b)然后根据第10行到第12行,我们有首先B[C[A[11]]]=B[6]=2,此时C={2,2,2,2,8,9,9,10}。然后经过循环可以分别得到B[8]=3,B[3]=1,B[4]=1,B[11]=6,B[2]=0,B[9]=4,B[7]=3,B[
obguy
·
2020-08-26 13:53
算法
算法导论
思考题 8-4
写一下我的思路,大概是对的,详细证明不出来。设蓝色水壶为A,红色为B先取一个A1,对所有的B做一次比较,可以将B分为两个部分,一部分大于A1,一部分小于A1再取一个A2,将B分为三个部分再取A3,将B分为四个部分......假设现在B被分成了k个部分,B1,B2,B3......BK,每次取Ai,都从B集合的一半处开始比较,比如第一次从K/2处开始如果小于该部分所有元素,则向前移动,从K/4处开始
万万岁
·
2020-08-26 13:17
算法导论
算法导论
练习题 10.4-5
typedefstructTree{intkey;Tree*p;Tree*left;Tree*right;}TN,*TNP;voidtrav(TNProot){TNPt=root;while(t){//向下走的过程,优先左子树if(t->left){t=t->left;}//同样是向下走的过程,该节点无左子树,就访问自身节点,继续找右子树elseif(t->right){printf("%d",t
万万岁
·
2020-08-26 13:17
算法导论
算法导论
练习题 8.1-4
intcountArea(inta[],intk,intlen,intstart,intend){if(start>end)return0;int*c=(int*)malloc((k+1)*sizeof(int));inti,j;for(i=0;i<=k;i++){c[i]=0;}for(i=1;i<=len;i++){c[a[i]]++;}for(i=1;i<=k;i++){c[i]+=c[i-
万万岁
·
2020-08-26 13:17
算法导论
《
算法导论
》第六章堆排序代码实现
intparent(constint&root){returnroot/2;}intleft(constint&root){returnroot*2;}intright(constint&root){returnroot*2+1;}voidmax_heapify(vector&nums,inti,constint&heap_size){intlargest;while(inums[i])large
MrTimber
·
2020-08-26 13:38
算法导论
习题9.3-8
两个已排序的数组,个数相同且都为n,求在lgn时间内求出两数组共同的中位数。思路:分别求出两数组的中位数mid1,mid2,如果相等则即为所求中位数,如果mid1usingnamespacestd;//找出下标从p到r范围之间的中位数intFindMid(inta[],intp,intr){intlength=r-p+1;intmid=(length+1)/2;returna[p+mid-1];}
liuzhanchen1987
·
2020-08-26 13:37
算法导论
算法导论
习题8.3-4
对0到n^2-1范围内的数字进行排序,要求时间复杂度为O(n)。可以直接采用基数排序法对其排序,但是这些数字为已知范围,所以有更进一步的优化,即将所有的数字转换成n进制,这样这些数在n进制下只有两位,即只需要比较2O(n)即可。转换成n进制消耗2O(n),所以对于比较的数字为四位以上时,该算法较普通的基数排序有优势。具体代码如下:修改:此处的插入排序应该改为计数排序。因为插入排序时间复杂度太高//
iteye_5282
·
2020-08-26 12:48
算法导论
(第三版)练习 4.1-1 ~ 4.1-5
4.1-1返回数组的首个元素4.1-2最大子数组问题(js描述)4.1-3应该会吧..4.1-4基本保持原有代码不变,在最后增加一次判断ifresult.sum<0thenresult.sum=0并设置结果数组为空4.1-5最大子数组问题(js描述)转载于:https://www.cnblogs.com/xkxf/p/9745685.html
bangtuo9862
·
2020-08-26 12:36
《
算法导论
》 8.2 计算排序
计数排序的基本思想就是对每一个输入元素x,确定出小于x的元素个数。有了这一信息,就可以把x直接放到它在最终输出数组中的位置上。例如,如果有17个元素小于x,则x就属于第18个输出位置。当有几个元素相同时,这个方案要略做修改,因为不能把它们放在同一输出位置上。在计数排序算法的代码中,我们假定输入是个数组A[1..n],length[A]=;n。另外还需要两个数组:存放排序结果的B[1..n],以及提
Heaven13483
·
2020-08-26 11:32
算法导论
算法导论
8.2-4习题解答(计数排序)
CLRS8.2-4:在O(1)的时间内,回答出输入的整数中有多少个落在区间[a...b]内。给出的算法的预处理时间为O(n+k)算法思想:利用计数排序,由于在计数排序中有一个存储数值个数的临时存储区C[0...k],利用这个数组即可。#includeusingnamespacestd;//通过改编计数排序而来,因为有些部分需要注释掉voidcounting_sort(int*&a,intlengt
weixin_33859844
·
2020-08-26 11:39
Particle Filter 粒子滤波 原理以及
python实践
本笔记学习于优达学城ArtificialIntelligenceforRobotics课程什么是粒子滤波器,请看下面几幅图片在整个空间内有无数关于机器人的位置坐标以及方向的粒子[x,y,orientation],随着机器人的移动感知周围空间,这些粒子将获得自己的权重,然后进行筛选,最后粒子逐渐收敛到一起。这个就是粒子滤波器的基本原理。首先创建好一个机器人的类,机器人可以移动,设定方向,设定误差#-
csdn_Flying
·
2020-08-26 11:55
机器人概率定位
算法基础:6种经典排序算法的递归和非递归实现
本文的算法实现主要参考两本书:《
算法导论
》《大话数据结构》接口#ifndef_SORT_H#define_SORT_H#definetrue1#definefalse0typedefintbool;typedefintelem_t
wuzhiguo
·
2020-08-26 08:51
上一页
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
其他