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实践
贪心,递归,动态规划,及分治算法之间的区别和联系(四)
其实,分治策略才是最基础的,动态规划、贪婪选择可以说是建立在其基础上的(
算法导论
中就按照分治策略、动态规划、贪婪选择的顺序来讲的)。那分之策略、动态规划、贪婪选择以及递归之间到底有啥联系与区别呢?
herbertpotter
·
2017-08-05 20:12
ACM基础知识
大二暑假《
算法导论
》学习笔记-第一天
《
算法导论
》
樱木灬晴子
·
2017-08-03 22:42
算法与数据结构
学习记录
第一章:排序
导算法是很重要的,之前在看《
算法导论
》的时候,基本上是不知所错。后来买了《啊哈,算法》。补补简单的算法知识。在这本书学习完成之后,想再去看《
算法导论
》可能会好一些。如果大家还有好的书推荐,请留言。
燃烧的大叔
·
2017-07-31 18:45
算法导论
3.2练习题
3.2-1设n1⩽n2;∴f(n1)⩽f(n2),g(n1)⩽g(n2)∴f(n1)+g(n1)⩽f(n2)+g(n2)same;∴f(g(n1))⩽f(g(n2))same;∵f(n)≥0,g(n)≥0∴f(n1)⋅g(n1)⩽f(n2)⋅g(n2)3.2-2∵a>0,b>0,c>0,n;∴ac=ca∴logba⋅logbc=logbc⋅logba∴logbalogbc=logbclogba∴a
火休
·
2017-07-27 20:02
算法导论
差分约束与SPFA算法
基本有了解了,来记下笔记先给出一个定理:(来自
算法导论
)给定差分约束系统A
feng_zhiyu
·
2017-07-26 18:08
算法与数据结构
模板
[
算法导论
]在一个数组中寻找最大值和最小值所需要进行比较的次数
数组大小为ArraySize,若ArraySize为偶数,则需要(n-2)/2×3+1次比较;若ArraySize位奇数,则需要(n-1)/2×3次比较。以两个数为一组,首先比较这两个的大小,然后分别与当前最小值和最大值比较。#include#include#include#defineMIN(a,b)((a)(b)?(a):(b))#defineGetMinAndMax(a,b,minimum,
cloudblaze
·
2017-07-13 17:43
[
算法导论
-分治策略]求最大子数组之各种解法及源代码实现
/*问题:已知数组A={2,4,-1,-5,3,-4,2,-6,4,1,2,2,4,-2,2};求:最小子数组和分析:一:分治法:把问题分解成若干个简单易解的小问题,最后再把小问题归并起来,找到我们原来要解决问题的解本问题中,我们把问题分解成两个规模尽量相等的子问题。A[low...mid]和A[mid+1...high]那最小的子数组和长啥样呢?1:子数组完全位于左子数组中A[low...mid
WinddyAkoky
·
2017-07-12 13:10
算法导论
源代码
最大子数组和
秋招-计算机视觉、机器学习岗需要复习的内容
计算机视觉、机器学习岗需要复习的内容编程基础C++基础知识学习:《C++primer》算法编程:Leetcode,牛客网,《
算法导论
》编程思想:《
算法导论
》,《程序员面试宝典》,《剑指offer》其他语言熟悉
YHZZD
·
2017-07-06 15:05
算法编程
图像处理
实习工作
程序员书单
计算机经典——经典的力量,跨越时间深入理解计算机系统代码大全程序员修炼之道计算机程序的构造和解释SICP
算法导论
重构:改善既有代码的设计计算机程序设计艺术数据结
北邮张博
·
2017-07-04 10:03
生活思考
算法导论
(学习笔记) 第一章 算法在计算中的作用
前一阵买了
算法导论
的书一直没有开始看,今天开始准备研究研究,增进一下自己的基本功。
Panda_Program
·
2017-07-02 16:08
其他
【机器学习】
python实践
笔记 -- 经典监督学习模型之分类学习模型
《Python机器学习实践》笔记参考资料:《python机器学习及实践从零开始通往Kaggle竞赛之路》范淼,李超2016常用python库Numpy&Scipy高级数学运算、科学计算Matplotlib绘图工具包Scikit-learn封装了大量机器学习模型Pandas针对数据分析和处理的工具包,常用于数据预处理监督学习经典模型分类学习分类学习包括二分类问题、多类分类问题、多标签分类问题等。1.
Mengwei_Ren
·
2017-06-29 10:33
python
机器学习入门
4.比较排序之归并排序(递归)
归并排序里运用到算法里很重要的一个思想——分治法:将原问题分解为几个规模较小但类似于原问题的子问题——《
算法导论
》。
OKevin
·
2017-06-24 01:00
贪心算法的证明(贪心策略是安全的)
这里使用的教材是《
算法导论
》第二版用课本的“活动选择问题”来阐述如何理解贪心算法证明与安全问题。这是书
EthanXZhang
·
2017-06-21 14:26
学习
《
算法导论
》第23章 最小生成树 个人笔记
第23章最小生成树23.1最小生成树的形成本章所讨论的两种算法都使用贪心策略,但两者使用的贪心策略有所不同。这个贪心策略可以由下面的通用方法来表达,该通用方法在每个时刻生长最小生成树的一条边,并在整个策略的实施过程中,管理一个遵守下述循环不变式的边集合A:在每遍循环之前,A是某棵最小生成树的一个子集。23.2Kruskal算法和Prim算法1、Kruskal算法FIND-SET(u)是否等于FIN
Amber07
·
2017-06-15 10:48
算法导论
b树的实现(c++)
转自:http://blog.chinaunix.net/uid-20196318-id-3030529.htmlB树的定义假设B树的度为t(t>=2),则B树满足如下要求:(参考
算法导论
)(1) 每个非根节点至少包含
hao_rh
·
2017-06-15 10:00
《
算法导论
》第22章 基本的图算法 个人笔记
第22章基本的图算法22.1图的表示对于图G=(V,E),可以用两标准表示方法表示,一种表示法将图作为邻接链表的组合,另一种表示法则将图作为邻接矩阵来看待,本书采用邻接链表。邻接链表表示由一个包含|V|条链表的数组Adj所构成,每个结点有一条链表。对于每个结点u∈V,邻接链表Adj[u]包含所有与结点u之间有边相连的结点v。22.2广度优先搜索每个结点u的颜色属性放在属性x.color中,将u的前
Amber07
·
2017-06-14 12:29
算法导论
《
算法导论
》第21章 用于不相交集合的数据结构 个人笔记
第21章用于不相交集合的数据结构21.1不相交集合的操作用一个对象表示一个集合的每个元素,设x表示一个对象,希望支持以下三个操作:MAKE-SET(x):建立一个新的集合,它的唯一成员(因而为代表)是x。因为各个集合是不相交的,故x不会出现在别的某个集合中。UNION(x,y):将包含x和y的两个动态集合(表示为Sx,Sy)合并成一个新的集合,即这两个集合的并集。FIND-SET(x):返回一个指
Amber07
·
2017-06-13 11:51
算法导论
Kmeans算法 python实现(改)
转载自机器学习算法与
Python实践
之(五)k均值聚类(k-means)然后做了一些修改,想贴评论区交流来着,结果字数限制贴不开,很是尴尬……然后当时自己是要算SSE的,又加上了找elbowpoint的图和代码
Daemoonn
·
2017-06-12 19:59
机器学习
算法导论
用拟阵求解任务调度问题
#include#include#defineN7voidswop(int*a,int*b){inttemp=*a;*a=*b;*b=temp;}intpartition(int*a,intp,intr,int*b,chartype){inti=p-1,x=a[r];for(intj=p;ja[r]){i++;swop(&a[i],&a[j]);swop(&b[i],&b[j]);}}}swop(
万万岁
·
2017-06-11 21:16
算法导论
《
算法导论
》第19章 斐波那契堆 个人笔记
第19章斐波那契堆19.1斐波那契堆结构斐波那契堆是一系列具有最小堆序的有根树的集合,棵树都遵循最小堆性质。相关的属性:1.x.p:结点x的父结点2.x.child:指向结点x的某一个孩子的指针,x的所有孩子被链接成一个环形的双向链表,称为x的孩子链表3.y.left,y.right:孩子链表中的每个孩子y的左兄弟和右兄弟。如果y是仅有的一个孩子,则y.left=y.right=y4.x.degr
Amber07
·
2017-06-08 14:27
算法导论
《
算法导论
》第18章 B树 个人笔记
第18章B树18.1B树的定义一棵B树T是具有以下性质的有根树(根为T.root);1、每个结点x有下面属性:x.n,当前存储在结点x中的关键字个数x.n个关键字本身x.key1≤x.key2≤...≤x.keyx.nx.leaf,一个布尔值,如果x是叶节点,则为TRUE,否则为FALSE2、每个内部结点x还包含x.n+1个指向其孩子的指针x.c1,x.c2,..,x.cx.n+1。叶节点没有孩子
Amber07
·
2017-06-07 10:20
算法导论
每周荐书:MySQL、Kafka、微信小程序(评论送书)
MySQL、Kafka、微信小程序(评论送书)老规矩,感谢大家对每周荐书栏目的支持,先公布下上周中奖名单 纯臻民团司令《收获,不止SQL优化——抓住SQL的本质》 不亦阿基米东《深入浅出深度学习:原理剖析与
Python
broadview2006
·
2017-05-31 14:00
mysql
分布式
人工智能
机器学习:数据驱动的科学
本文选自《深入浅出深度学习:原理剖析与
Python实践
》。机器学习,也被称为统计机器学习,是人工智能领域的一个分支,其基本思想是基于数据构建统计模型,并利用模型对数据进行分析和预测的一门学科。
谁算法
·
2017-05-31 12:52
人工智能
软件程序
计算机学习
机器学习:数据驱动的科学
本文选自《深入浅出深度学习:原理剖析与
Python实践
》。机器学习,也被称为统计机器学习,是人工智能领域的一个分支,其基本思想是基于数据构建统计模型,并利用模型对数据进行分析和预测的一门学科。
博文视点
·
2017-05-27 09:15
机器学习
Python 实践心得 —— 中英混杂的字符串对齐输出
Python实践
心得——中英混杂的字符串对齐输出第一次写技术博客,Python刚刚开始学习写的不好请多指教。
JayRoxis
·
2017-05-23 23:13
python
如何理解算法的正确性
观点来自《
算法导论
》一书一:循环不变式(LoopInvariants)算法中经常用到循环还解决某些数量级很大的问题,借助数学的知识来判断算法的正确性。
一块笨笨的木头
·
2017-05-20 19:26
数据结构和算法
java
算法导论
之FloydWarshall算法实现代码
摘要:
算法导论
之FloydWarshall算法求一个图中任意两点之间的最短路径FloydWarshall算法是通过动态规划来计算任意两点之间的最短路径如果普通求最短路径,可以对图进行V次(顶点数)BellmanFord
jonathan_loda
·
2017-05-17 11:42
实现
算法导论
第三版中红黑树插入算法
#include#include#include#include#includeenumRBNODE_COLOR{RBNODE_COLOR_RED=0,RBNODE_COLOR_BLACK};structRBNode{RBNode*p;RBNode*left;RBNode*right;intkey;enumRBNODE_COLORcolor;RBNode(intkey);};RBNode::RBN
dreamcs
·
2017-05-15 10:05
数据结构与算法
《
算法导论
》第9章 中位数和顺序统计量 个人笔记
第9章中位数和顺序统计量9.1最小值和最大值寻找集合中的最小值or最大值,必须要做n-1次比较。同时寻找最小值和最大值不需要2(n-1)次比较,我们将一对输入元素相互进行比较,然后把较小的与当前最小值比较,较大的与当前最大值比较,这样每2个元素共需3次比较。所以总的比较次数至多是3(n/2)。9.2期望为线性时间的选择算法选择数组A[p..r]种第i小的元素:intrandomized_selec
Amber07
·
2017-05-15 10:23
算法导论
算法导论
复习(5) 线性时间排序
线性时间排序在课本中讲了三种:计数排序、基数排序和桶排序,这三种排序的时间复杂度都是θ(n)。一.计数排序所谓计数就是按顺序对应下标i计算某种元素在数组中出现的次数,从而得到某种元素应该在有序数组对应的位置区间内。例如:1,6,3,2,6,1,4设置数组A来存放示例元素,设置数组B来保存元素出现次数A:1,6,3,2,6,1,4B:下标i:0123456元素出现次数:0211102然后进行B[i]
hellojackhui
·
2017-05-10 14:04
bootstrap
算法
实现
算法导论
第三版中的二叉搜索树
使用C++实现。为了方便调试,加了一个输出函数。此函数,水平遍历树节点。#include#include#include#include#includestructTNode{TNode*p;//parentnodeTNode*left;//leftchildnodeTNode*right;//rightchildnodeintkey;//nodevalueTNode(intk);};TNode:
dreamcs
·
2017-05-09 17:02
数据结构与算法
这又是一个flag
打算最近花一点时间重新整理一下数据结构和
算法导论
的知识。如果有什么新的收获或者是沉淀下来的东西,应该会写在这里。
zhaozhengcoder
·
2017-05-08 20:10
实现
算法导论
第三版中的MergeSort
去掉了原算法中的无穷大值。代码如下:#include#include#include#includevoidmergeSort(chararr[],intp,intr);intmain(){chararr[]={'5','2','4','7','1','8','3','2','6'};intcount=sizeof(arr);mergeSort(arr,0,count-1);for(inti=0;
dreamcs
·
2017-05-05 19:57
数据结构与算法
《
算法导论
》第6章 堆排序 个人笔记
第6章堆排序6.1堆最大堆:A[PARENT(i)]>=A[i]最小堆:A[PARENT(i)]=0;--i)HeapAdjust(H,i,length);}6.4堆排序voidHeapSort(intH[],intlength){//初始堆BuildingHeap(H,length);//从最后一个元素开始对序列进行调整for(inti=length-1;i>0;--i){//交换堆顶元素H[0
Amber07
·
2017-05-05 11:18
算法导论
《
算法导论
》第5章 概率分析和随机算法 个人笔记
第5章概率分析和随机算法本章通过四个例子来理解概率分析和随机算法。5.1生日悖论问题:一个屋子里人数必须要达到多少人,才能使其中两人生日相同的机会达到50%?5.1.1概率分析至少有两个人生日相同的概率=1-所有人生日都不相同的概率。Bk=⋂i=1kAi其中Ai是指所有j=23。5.1.2概率分析定义指示器随机变量Xij,有E[Xij]=1/nX=∑i=1k∑j=i+1kXijE[X]=E[∑i=
Amber07
·
2017-05-04 16:42
算法导论
算法导论
复习(4) floyd算法
Floyd算法是解决所有结点对的最短路径问题。算法运行时间为θ(V^3)。算法分析:Floyd算法考虑的是一条最短路径的中间节点,即简单路径p={v1,v2,…,vn}上除v1和vn的任意节点。设k是p的一个中间节点,那么从i到j的最短路径p就被分成i到k和k到j的两段最短路径p1,p2。p1是从i到k且中间节点属于{1,2,…,k-1}取得的一条最短路径。p2是从k到j且中间节点属于{1,2,…
hellojackhui
·
2017-05-04 10:17
算法
《
算法导论
》第4章 分治策略 个人笔记
第4章分治策略本章通过两个例子介绍分治策略,然后介绍三种方法求解递归式。4.1最大子数组问题FIND-MAX-CROSSING-SUBARRAY(A,low,mid,high)left_sum=-MAXsum=0fori=middowntolowsum=sum+A[i]ifsum>left_sumleft_sum=summax_left=iright_sum=-MAXsum=0forj=mid+1
Amber07
·
2017-05-03 12:05
算法导论
技术书单整理
原文链接:https://yq.aliyun.com/articles/85850算法
算法导论
IntroductiontoAlgorithms,SecondEdition,byThomasH.Cormen
weixin_33985679
·
2017-05-02 11:00
算法导论
复习(3) 堆排序
堆排序与归并排序具有相同的时间复杂度O(nlgn),但是在讲堆排序之前,先要搞清楚堆排序使用的“二叉堆”二叉堆是一个数组,可以被看成近似的完全二叉树特点:1.树上每一节点对应一个元素,除最底层外,树是完全充满的,而且从左到右填充。2.a(大顶堆):根节点的值是大于等于任何子节点的值b(小顶堆):根节点的值是小于等于任何子节点的值3.每个节点的左子树和右子树均为一个二叉堆通过以上特点,将一个数组的所
hellojackhui
·
2017-04-30 09:59
算法
算法导论
复习(2) 归并排序
归并排序时间复杂度平均:θ(nlgn)最好:O(nlgn)最坏:O(nlgn)空间复杂度:O(1)课本在讲归并排序之前,先大致介绍了分治法。其中列出了分治模式在每层递归时的三个步骤:分解(将原问题分解成多个子问题)解决(对子问题进行求解)合并(将子问题解合并成原问题解)随后,已上文三个步骤为模板,分析了归并排序的分治策略n元素序列分为n/2个元素的两个子序列使用归并排序递归排序子序列合并子序列得到
hellojackhui
·
2017-04-28 21:03
算法
算法导论
KMP匹配字符串
#include#includeusingnamespacestd;int*COMPUTE_PREFIX_FUNCTION(stringP){intm=P.size();int*A=newint[m+1];A[1]=0;intk=0;for(intq=2;q0&&P[k]!=P[q-1]){k=A[k];}if(P[k]==P[q-1]){k++;A[q]=k;}}returnA;}voidKMP
coolsunxu
·
2017-04-28 13:43
C++
算法导论
算法导论
复习(1) 插入排序
还有一个月就要
算法导论
考试了,东西很多,想了想就姑且把博客当作笔记。一边打字,一边看书,一边复习。插入排序虽然在第一章有所提到,然而具体讲解的地方是在第二章。
hellojackhui
·
2017-04-28 00:50
算法
图论(三)--深度优先搜索(DFS)
基于
算法导论
图算法-深度优先搜索题目描述问题分析源代码结果截图题目描述深度优先搜索(用递归和栈分别实现):对图进行遍历,得到连通分支数,并求出每个顶点的发现时间和完成时间问题分析与广搜相同,每个顶点白色
deep_keng
·
2017-04-27 21:36
算法
图论(二)--广度优先搜索(BFS)
基于
算法导论
图算法-广度优先搜索题目描述问题分析源代码结果截图题目描述使用广度优先搜索遍历图:输入:图G和源顶点s输出:从s到所有顶点的最短距离问题分析广搜的思想类似水滴的扩散,在此不再赘述。
deep_keng
·
2017-04-27 20:40
算法导论
bfs
算法
图论(一)--图的建立
基于
算法导论
图算法-图的建立问题描述问题分析源代码结果截图问题描述随机创建一个100个顶点,大约2000条边的有向图以及大约1000条边的无向图,并可以输出每个点的入度和出度(使用邻接表表示)问题分析本问题我通过首先创建一个随机邻接矩阵
deep_keng
·
2017-04-27 19:56
算法
Zipline框架初探(上)
数学方面借着报名“七月在线—机器学习数学班”重温数学基础以图从机器学习的角度入手,而编码则再次翻开数据结构和
算法导论
用以弥补计算机基础不足的同时,一方面尝试配合小伙伴重写C++版本vn.py用于实盘交易框架储备
I天辉I
·
2017-04-25 09:10
Python_量化投资
【数据结构】树(四):B树(C++实现)
>《
算法导论
》学习基本介绍B树是为磁盘或者其他直接存取的辅助存储(secondarystorage)设备而设计的平衡搜索树。B树类似于红黑树,但是在降低磁盘I/O操作数方面表现更好。
热爱改名阿呆呆
·
2017-04-22 13:21
数据结构
分治策略求最大子数组
《
算法导论
》第四章分治法所能解决的问题一般具有以下几个特征:1.该问题的规模缩小到一定的程度就可以容易地解决;2.该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。
未来就在你手中
·
2017-04-21 10:05
求职新旅程
算法导论
【java实现】
算法导论
之插入排序递归
publicclassINSERT_SORT{publicstaticvoidInsert(intarrs[],intp,intr){for(inti=p;i=0&&arrs[j]>key){arrs[j+1]=arrs[j];j--;}arrs[j+1]=key;}}publicstaticvoidInsert_sort(int[]arrs,intp,intr){if(p
Anastasia1994
·
2017-04-21 10:09
【java实现】
算法导论
之归并排序
/**
算法导论
2.3-2java实现*重写过程MERGE,使之不使用哨兵,而是一旦数组L或R的所有元素均被复制回A就立刻停止,然后把另一个数组的剩余部分复制回A。
Anastasia1994
·
2017-04-21 09:35
Java
上一页
49
50
51
52
53
54
55
56
下一页
按字母分类:
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
其他