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
算法导论2.3-7
dp专题-UVA - 1347-双调欧几里得旅行商问题-不重复的来回路径问题
《
算法导论
(第
H_ang
·
2020-08-18 09:15
dp
POJ 2677 Tour
算法导论
15-1题,从最左边的点严格从左走到右再从右走到左回到起点,所有点都要走且只走一次,求最短路径。
lecho24
·
2020-08-18 08:32
动态规划
算法导论
9-2 -邮局位置问题
题目大致如下:虽然知道题目d的答案应该是带权中值,但是没有办法证明,然后找了很多地方才知道怎么证明。下面就把证明过程列出来:记号约定d[i]表示点i的权重dist[i,j]表示点i与点j之间的距离L、R分别表示点P左边和点P右边的点构成的集合E表示求和,网页实在无法打出求和符号。(1)。首先,需要证明选择的点与点之间的距离无关,只与权重有关。设T为最佳选择点,T+1为T右边的第一个点。因为T为最佳
飞鸟Mu
·
2020-08-18 08:40
POJ2677 Tour(DP:双调巡游)
题意:
算法导论
上的一道习题,给出一系列点的的坐标,现在从最左端出发,到达最右端的点,再返回原点,要求遍历所有点并且路程最短。要点:出发又返回可以看成两个人同时从左往右走,其中一个人走的快一个人走的慢。
SeasonJoe
·
2020-08-18 08:35
POJ
双调欧几里得旅行商问题-《
算法导论
》
题目描述给定平面上n个点作为输入,要求从最左端的点开始,严格向右前进,直到最右端的点,再严格向左前进到第一个点,每一个点只能经过一次。主算法:d(i,j)表示两个人第一个点出发沿着不同的路径分别走到i,j并且经过1∼max(i,j)的所有点到达终点还需要的距离。dist(i,j)表示i,j的欧几里得距离。因此,d(i,j)=d(j,i),不妨设i>j,一步一步“蚕食”所有的点,则下一步的决策无非是
孤鸿子_
·
2020-08-18 07:27
算法&数据结构
算法导论
学习笔记(十三):动态规划(三):01背包问题
01背包问题有N件物品和一个容量为V的背包。第i件物品的体积是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}
Bruce_Zeng
·
2020-08-18 07:18
数据结构/算法
算法导论学习笔记
UVa1347 - Tour
算法导论
里面的题目。思路:dp[i][j]表示从i到1,再从1到j的距离。在这个路径上,点1到Pmax(i,j)点之间的所有点有且仅有经过一次。
BEconfidence
·
2020-08-18 07:38
UVA
二叉树、霍夫曼编码和红黑树的C++实现
主要参考:《数据结构与算法/leetcode/lintcode题解》、《
算法导论
》文章目录学习笔记(一)基础知识-基本数据结构4.二叉树二叉搜索树(二叉查找树)5.霍夫曼编码6.红黑树学习笔记(一)基础知识
xhh22900
·
2020-08-18 06:33
算法和数据结构
C/C++
笔记
腾讯微信面试题:侧重科班基础
不太会,应该是用递推函数算的吧你们没学《
算法导论
》吗?还真没学这么经典的没学?2.介绍一下快速排序的思想3.如果现在有一个百万级的数组,想要找出其中最大的一百个,用什么算法?堆排序堆排序的时间复杂
wwxy261
·
2020-08-18 06:09
算法
【
算法导论
学习笔记】第2章:算法基础
1.循环不变式循环不变式帮助我们理解算法正确性。利用循环不变式时,需要证明以下三条性质。初始化:循环第一次迭代前,循环不变式为真.(对应归纳法中的基本情况)保持:如果循环在某次迭代前为真,则在下次迭代之前也为真。(对应于归纳步)终止:循环终止时,不变式提供一个有用的性质,该性质有助于证明算法的正确性。(与归纳区别,归纳法中归纳步无限使用,而此处会终止)2.插入排序(InsertionSort)插入
weixin_34413065
·
2020-08-18 05:56
算法导论
-分治、最大子序列问题
一.基本概念分治法的基本步骤:1.分解问题(Divide):把原问题分解为若干个与原问题性质相类似的子问题;2.求解字问题(Conquer):不断分解子问题并求解;3.合并子问题的解(Combine).分治法的运用条件:1.原问题可以分解为若干与原问题的解;2.子问题可以分解并可以求解;3.子问题的解可以合并为原问题的解;4.分解后的子问题应互相独立,即不包含重叠子问题(如菲不那切竖列)。求解递归
weixin_33743248
·
2020-08-18 04:09
算法导论
笔记:16贪心算法
动态规划方法求解最优化问题时,每个步骤都面临多种选择。对于许多最优化问题,使用动态规划算法来求解最优解有些杀鸡用牛刀了,可以使用更简单更高效的贪心算法。贪心算法在每一步的选择中,都选择当时最佳的情况。即局部最优的选择。贪心算法并不能保证总能得到最优解,但是很多问题确实可以求得最优解。一:活动选择问题多个活动调度竞争共享资源,目标是选出一个最大的互相兼容的活动集合。假设有一个n个活动组成的集合S={
weixin_30439067
·
2020-08-18 04:20
啃算法:归并排序及JavaScript实现
(基本定义摘自《
算法导论
》)一、分治法1、思想:将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后合并这些子问题的解来建立原问题的解。
夜色芜染
·
2020-08-18 03:12
javascript
分治策略之矩阵乘法的几种实现
定期更新算法问题今天介绍一下分治算法的一个典型例子——矩阵乘法如果以前了解过矩阵,应该知道矩阵的乘法公式C(m,n)=A(m,k)*B(k,n),在这里我们只讨论方阵,假设A是n*n阶,B也是n*n阶,那么要计算乘积需要进行n^2个元素,看《
算法导论
clearlove推理能手
·
2020-08-18 00:44
算法基础
nyoj _202 红黑树
《
算法导论
》上可不是这么说的:如果一个二叉查找树满足下面的红黑性质,那么则为一个红黑树。1)每个节点或是红的,或者是黑的。
战场医疗兵
·
2020-08-18 00:08
算法模板
【
算法导论
】第六课 顺序统计,中值
这一节课讲到两个线性算法,一个是顺序统计算法(OrderStatistics)还有一个是最坏情况线性时间顺序统计法(Worst-caselinear-timeorderstatistics)这两个算法是要解决这样一个问题:对于一个数组A,我们需要求得第k小的一个数,rank(k)如果k=1,就是求最小值如果k=n,就是求最大值如果k=[(n+1)/2]or[(n-1)/2]那么就是求中值1.采用随
LosinueriS
·
2020-08-17 23:50
算法导论
面试算法爱好者书籍/OJ推荐
一、教科书基本上一般的算法课本介绍的范围都不会超出
算法导论
和算法引论的范围。读完这两本书,其他的算法课本大致翻翻也就知道是什么货色了。1.
算法导论
这本书的内容用三个字来总结,就是伟光正。
iteye_4185
·
2020-08-17 23:14
javascript 实现快排的两种方法 和sort()的比较,以及效率
思想是一样的,具体到实现还可以用
算法导论
上的一种,懒得写了,前面那种是网上看到的,主要是每次都切走了数组的pivot,递归的时候再加进去。后面长的那种是移位填坑法,来自严奶奶的数据结构,比较好理解。
十方魔
·
2020-08-17 22:24
算法
前端/Javascript
python实现
算法导论
伪代码——归并排序
defMergeSort(A,p,r):ifp
chekey30
·
2020-08-17 21:46
算法
算法导论
2014下半年总结
有幸成为软考的小组长,从尚学堂的java基础——软考课本——
算法导论
——设计模式,整个流水线式的学习过了一遍。现在翻翻自己当初的笔记,还保留这软考时总结的20多张导图。
LuckyZhouStar
·
2020-08-17 20:59
学习总结
拓展欧几里得详解 及其题目 POJ 1061 2115 2142 UVA 10673 10090
算法导论
里数论算法那一章有证明),假若我们能够把这个x和y找出来,那么可以用来解决很多问题。(以下的gcd和lcm均指(gcd(a,b)和l
Good_night_Sion_
·
2020-08-17 19:22
数论
无向图的遍历(BFS+DFS,MATLAB)
算法导论
里边会给出不少严格的证明,我想尽量写得通俗
奔跑着的孩子
·
2020-08-17 19:44
MATLAB
算法导论
学习笔记一——算法基础
算法导论
学习笔记一——算法基础本文是机械工业出版社出版的《
算法导论
(原书第三版)》的学习笔记的第一篇,对应原书第2章——算法基础算法1.插入排序思想:首先在当前有序区R[1…i-1]中查找R[i]的正确插入位置
lidi_xdu
·
2020-08-17 16:13
算法
算法导论
-----最长公共子序列LCS(动态规划)
目录一.概念梳理二.最长公共子序列解决方案方案1:蛮力搜索策略方案2:动态规划策略三、C代码实现实现1实现2(空间优化)一.概念梳理 1.子序列(subsequence):一个特定序列的子序列就是将给定序列中零个或多个元素去掉后得到的结果(不改变元素间相对次序)。例如序列的子序列有:、、等。 2.公共子序列(commonsubsequence):给定序列X和Y,序列Z是X的子序列,也是Y的子序
GNG
·
2020-08-17 15:28
算法导论
《算法导论》笔记
插入排序算法学习——
算法导论
学习笔记
今天第一次写算法的笔记,从今天开始正式步入学习算法的行列。白天的时间保质保量的把工作完成,然后就是开始学习unix环境高级编程,还有就是算法了。学习要思考,要总结,才能有收获。回归正题。插入排序来一个例子排序的过程如下:给定无需序列:(3,6,9,7,1,8,2,4)①3,6,9,7,1,8,2,4(将6插入到有序序列3中)②3,6,9,7,1,8,2,4(将9插入到有序序列3,6中)③3,6,9
iteye_13411
·
2020-08-17 12:25
算法导论
学习笔记01——算法时间复杂度
本篇文章分四部分内容。第1部分简单的给出时间复杂度定义;第2第3部分介绍了插入排序和并归排序的实现,以及这两种算法时间复杂度的计算;第4部分贴出C语言源码,并提供了一种对排序算法正确性测试的方法。目录1、时间复杂度定义2、插入排序及其时间复杂度2.1算法实现2.2时间复杂度3、并归排序及其时间复杂度3.1算法实现3.2时间复杂度4、代码与测试4.1测试代码4.2插入排序4.3并归排序1、时间复杂度
hippo_lovely
·
2020-08-17 12:54
算法
学习笔记——《
算法导论
》第2章习题
前言:这个月开始拜读《
算法导论
》,难度挺大的,在这里记录一下课后习题的思路和代码实现。2-1:在归并排序中对小数组用插入排序分析:在多小的小数组时采用插入排序呢?
Linjingchun97
·
2020-08-17 11:22
MSP
学习笔记十八——
算法导论
总结
学完《
算法导论
(第三版)》已经很久了,快要考试了,也差不多把所有学过的都过了一遍,在这里就把我学到的东西都罗列一遍吧。算法的特性正确性:对于符合数据类型的所有输入,都能得到正确的输出。
LW131415
·
2020-08-17 10:47
个人学习笔记
【
算法导论
】最大子数组问题
在
算法导论
中,最大子数组问题是在股票买卖的背景下提出来的。显然,我们都希望可以在“低位买进,高位卖出”,这样获利是最多的。
spencer_chong
·
2020-08-17 10:08
Data
Structure
and
Algorithm
算法导论
—最大子数组问题
华电北风吹天津大学认知计算与应用重点实验室日期:2015/6/30问题描述:比如你获得了一个投资某个股票的机会,并且,你已经准确知道了将来几天这一只股票的相对于前一天的差值,比如为[13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7](原始价格为[100,113,110,85,105,102,86,63,81,101,94,106,101,79,9
掉下个小石头
·
2020-08-17 10:30
算法导论
分治策略求解最大子数组问题
LZ是菜鸟一枚,非计算机专业学生,正在学习
算法导论
这本书,希望养成学习完一个问题之后进行归纳整理的习惯,所以开始了博客之路,内容都是最基础的笔记,如果发现错误希望你能慷慨的帮我指出来,这样我才能改正并进步哦
Liuyn_qc
·
2020-08-17 10:32
算法导论
分治法求最大子数组(java代码)
该题目就是《
算法导论
》分治的第一例题,可以在原书上找到答案。最大子数组,则就是给定数组中和最大的一个子段采用分治法即可取给定数组的中间位即可分成两个子数组[-20,17,8,-6
快乐大乌龟
·
2020-08-17 10:18
最大子数组问题的三种方法:分治法、暴力法和非递归方法
参考
算法导论
及其习题,直接上代码//P38_MaxSubArray.cpp:Definestheentrypointfortheconsoleapplication.
No One
·
2020-08-17 09:36
算法
自己看
算法导论
——分治法——最大子数组问题
今天把
算法导论
里面分治法这一章里面的第一个问题——最大子数组问题写出来。
songxueyu
·
2020-08-17 09:33
Algorithm
算法导论
-最大子数组问题-线性时间复杂度算法分析与实现
这个方法在
算法导论
最大子数组问题的课后思考题里面提出来了,只是说的不够详细。思考题如下:使用如下思想为最大子数组问题设计一个非递归的,线性时间复杂度的算法。
songxueyu
·
2020-08-17 09:02
Java
Algorithm
最大子数组问题(分治算法)--
算法导论
代码(参考《
算法导论
》伪代码):#includeconstint∞=-1000000;intmax_left=0;intmax_right=0;usingnamespacestd;intFindMaxCrossSubarray
请不要再掉头发了
·
2020-08-17 09:51
算法
算法导论
(最大子数组问题-线性时间复杂度算法分析与实现)
这是
算法导论
4.1-5的练习题,原本的方法是分治法做的,时间复杂度为O(nlgn)。这里的方法是线性时间复杂度。题目如下:使用如下思想为最大子数组问题设计一个非递归的,线性时间复杂度的算法。
朱志威
·
2020-08-17 09:07
算法
算法导论
笔记——最大子数组C语言实现
第四章分治策略在分治策略中我们将递归的求解一个问题,在每层递归中有如下三个步骤。分解将问题划分为一些子问题,子问题形式与原问题一样,只是规模更小。解决递归的求解出子问题。如果子问题规模足够小,则停止递归,直接求解。合并将子问题的解合并为原问题的解。需要递归求解时,我们称之为递归情况,当子问题足够小时,不需要递归时,我们称之为递归已经触底,进入基本情况。递归式一个递归式就是一个不等式或等式,通过更小
jazrynwong
·
2020-08-17 08:46
C
最大子数组问题(分治法)--【
算法导论
】
这题的思想是书上的(《
算法导论
》),代码当然也是按照书上伪码写出的;之前已用动态规划解决这个问题,所以问题也不用多说,简述如下:《
算法导论
》中引入这个问题是通过股票的购买与出售,经过问题转换,将前一天的当天的股票差价重新表示出来
iteye_1287
·
2020-08-17 08:08
求最大子数组的和,
算法导论
之分治递归求解,暴力求解,记忆扫描方法。
#include#includeusingnamespacestd;/*******************************************************************************************///分治方法,利用递归的思想//ugly_chen2014.11.322:24//说明:把数组分为两部分,右边部分和左边部分,要不就是右边部分和左
后打开撒打发了
·
2020-08-17 08:02
算法与数据结构c++
算法导论
求一个数组的最大子数组(C/C++实现)
思路来自
算法导论
。今天算是把伪代码都实现了,但是貌似有
weixin_33845477
·
2020-08-17 07:48
手写HashMap(JDK8)第二天
一,HashMap红黑树基本概念理解左旋右旋-动态演示树的左旋右旋,多层左旋右旋红黑平衡,红黑树修改平衡更详细的可参见《
算法导论
》。
沧hi
·
2020-08-17 07:56
源码
算法导论
程序25--散列表(Python)
在直接寻址方式下,具有关键字k的元素被存放在槽k中。在散列方式下,该元素存放在槽h(k)中:即利用散列函数(hashfunction)h,由关键字k计算出槽的位置。这里,函数h将关键字的全域U映射到散列表(hashtable)T[0...m-1]的槽位上:h:U->{0,1,...,m-1}这里,散列表的大小m一般要比|U|小得多。我们可以说一个具有关键字k的元素被散列到槽h(k)上,也可以说h(
夜空霓虹
·
2020-08-17 04:14
算法导论
C++中出现“IntelliSense: 表达式必须是可修改的左值”的Bug解决
说明:在学习
算法导论
,需要写一嵌套的小程序,题目是:Considerathree-parameterrecursivefunctionw(a,b,c):ifa20orb>20orc>20,thenw(a
烧技湾
·
2020-08-17 04:51
Programming
算法导论
笔记ch4_分治策略_最大连续子数组之和
求解递归式的方法:1.带入法:猜想一个界,然后用数学归纳法证明这个界是正确的(看到这顿时感觉回到了中学笔推的时代);2.递归树法:将递归转换为一颗树,其节点表示不同层次的调用产生的代价,然后用边界和技术来求解递归式;3.主方法:可求解如下公式递归式的界:T(n)=aT(n/b)+f(n),这里刻划了一个分治算法:生成a个子问题,每个问题的规模是原有规模的1/b,分解和合并花费的时间为f(n).例子
whowhoha
·
2020-08-17 04:08
算法导论
c/c++/数据结构
算法导论
——python实践(5.概率分析和随机算法)
5.1雇用问题问题描述:假设你要雇佣一个新的办公室助理,雇佣代理每天想你推荐一个应聘者(连续推荐n个),你面试这个人,如果这个应聘者比目前的办公室助理更优秀,你就会辞掉当前的办公室助理,然后聘用这个新的。面试一个人需付给雇佣代理一笔费用,聘用办公助理也需要费用。假设面试费用为Ci,雇佣的费用为Ch,假设整个过程中雇佣了m次,于是总的费用是nCi+mCh。由于n是固定值,总费用的变化取决于m值。这个
风卷残荷hust
·
2020-08-17 03:48
算法导论——python实践
算法导论
Ch4
分治策略最大子数组问题A=[13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7]暴力解法:分治方法:将数组划分为两个规模尽量相等的子数组。最大子数组A[i..j]位置必然是:完全在A[low,mid]中;完全在A[mid+1,high]中;跨越了中点,因此lowleftSum:leftSum=SUMmaxLeft=irightSum=-float(
王爷的大房子
·
2020-08-17 03:44
算法导论
Ch1-Ch2
第一章~第二章:1.几种常见的排序方法1.1插入排序#!/usr/bin/envpython#-*-coding:UTF-8-*-'''CLRSp10'''definsertion_sort(A):forjinrange(1,len(A),1):key=A[j]i=j-1whilei>=0andA[i]>key:A[i+1]=A[i]i=i-1A[i+1]=keyif__name__=='__ma
weixin_30237281
·
2020-08-17 03:05
算法基础学习---直接插入排序
算法导论
上面举了一个比较形象的例子:扑克牌。
yushen0
·
2020-08-17 02:49
数据结构与算法
算法导论
第四版学习——习题三Collinear Points
题目正文:http://coursera.cs.princeton.edu/algs4/assignments/collinear.html作业难点:1、仔细思考会感觉有很多实现方法,但是如果没有适当使用排序,算法时间复杂度就会轻易超过要求。(包括暴力算法)2、隐含需要实现自己的数据结构用来组织“线”的集合,当然也可以用Stack或者Queue或者LinkedList,但是我个人是自己实现的。3、
dianrangzhuo4225
·
2020-08-17 00:37
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
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
其他