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
【算法导论】
数据结构与
算法导论
之基本概念和术语介绍
为了与大家取得“共同的语言”,下面对一些概念和术语赋予确定的含义。1、数据(data):对客观事物的符号表示,在计算科学中指所有能输入到计算机中并被计算机程序处理的符号总称。2、数据元素(dataelement):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项(dataitem)组成,数据项是数据不可分割的最小单位。3、数据对象(dataobject
weixin_33711647
·
2020-07-15 04:41
如何计算图的最短路径?
算法导论
(MIT6.006第15讲第16讲第17讲)最短路径的定义是什么?
weixin_33691598
·
2020-07-15 04:55
【JUC源码解析】PriorityBlockingQueue
堆以下内容参考《编程珠玑》和《
算法导论
》有关堆的章节。数据结构堆是用来表示元素集合的一种数据结构。性质顺序,任何结点的值都小于(大或于)等于其子结点的值。
weixin_30823683
·
2020-07-15 03:41
二叉查找树
参考:《
算法导论
》一棵随机构造的二叉查找树的期望高度为O(logn),从而这种树上基本动态集合操作的平均时间为logn.红黑树是二叉查找树的一种变形。
weixin_30662539
·
2020-07-15 03:56
所有结点对的最短路径问题(All-Paris Shortest Paths)
《
算法导论
》所有结点对的最短路径问题学习笔记我们已经讨论了单源最短路径问题,在这篇博客中我们将求解一个图中所有节点之间的最短路径。
Britjeans
·
2020-07-15 02:05
algorithm
单源最短路径(single-source shortest path )
《
算法导论
》单源最短路径笔记问题描述:给定一个图G=(V,E),我们希望找到从给定源结点到每个结点v的最短路径解决思路:两个结点之间的一条最短路径包含着其他的最短路径。
Britjeans
·
2020-07-15 02:05
algorithm
如何有效阅读《C++ Primer》那么厚的书
我就是那种正面刚大部头的选手,这些年读过的工作相关的“砖头”大概有《c++primer》,《Windows核心编程》,《
算法导论
》,《unix网络编程》,《STL源码剖析》等等吧,投资、社科等类型的与本题无关就不一一列举
vonmax007
·
2020-07-15 02:47
日常生活
算法推荐阅读
从我自己的学习过程来说,推荐这些书籍给大家参考:1)ThomasH.Cormen、CharlesE.Leiserson等著的《IntroductiontoAlgorithms》,或潘金贵、顾铁成等译的《
算法导论
Mondoz
·
2020-07-15 01:59
算法
数学
编程之美
算法导论
算法
数学
设计
sizeof获取数组长度
昨天开始看《
算法导论
》这本书,第一个算法就是(直接)插入排序,根据书里给出的伪代码写出了C语言代码,也根据自己的理解重新写了一个。虽然实现了算法的基本要求,但有些细节没有处理好,今天就来完善一下。
羽墨志
·
2020-07-15 00:13
C语言基础(C/C++)
VC++
6.0
c语言
sizeof
【
算法导论
】最大流算法
最大流问题就是在容量容许的条件下,从源点到汇点所能通过的最大流量。1流网络网络流G=(v,E)是一个有向图,其中每条边(u,v)均有一个非负的容量值,记为c(u,v)≧0。如果(u,v)∉E则可以规定c(u,v)=0。网络流中有两个特殊的顶点,即源点s和汇点t。与网络流相关的一个概念是流。设G是一个流网络,其容量为c。设s为网络的源点,t为汇点,那么G的流是一个函数f:V×V→R,满足一下性质:容
nineheaded_bird
·
2020-07-14 23:47
C/C++
算法
算法之道
单源最短路径的基本算法 --
算法导论
笔记
通用的Bellman-Ford:特点:能处理存在负权边的情况,并能判断是否存在负权回路。可以用在差分约束系统问题的求解,有解情况下最短路径是一组可行解。效率低,O(VE)。过程:做顶点数(V)-1次对所有边的松弛操作,也可以加一个flag检查到没有需要松弛的时候便结束,快一点。再检查一遍是否有边还能做松弛操作(把松弛操作比较部分反过来做判断条件),若能则说明有负权回路。注:负权回路很多时候能代表存
伯德
·
2020-07-14 23:35
图论
Algorithms基础问题
最长公共子序列的经典c++解法
算法原理见
算法导论
核心思想动态规划———-自底向上方法//resize是改变容器的大小,且在创建对象,因此,调用这个函数之后//就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符
yqtaowhu
·
2020-07-14 23:35
Leetcode
最优二叉查找树详解(
算法导论
学习笔记)
代码均未经过严格测试,仅供参考最优二叉查找树动态规划原理动态规划与分治法相似,都是通过组合子问题的解来求解原问题。动态规划通常是用来求解最优化问题(optimizationproblem).这类问题可以有很多个可行解,每个解都有一个值,我们希望寻找最优值(最大值或者最小值)的解。我们称这样的解为问题的一个最优解(oneoptimizationsolution)而不是最优解(theoptimizat
say_c_box
·
2020-07-14 22:20
算法
数据结构
动态规划
最大流问题
参考链接:http://www.cppblog.com/mythit/archive/2009/04/19/80470.aspx对最大流问题比较感性的认识,要看证明还是要看
算法导论
的相关章节。
realmagician
·
2020-07-14 21:39
算法
C++基础
计算机学习路线及java图书参考
动态编程语言《HeadfirstPython》3.数学高等数学、离散数学、线性代数《线性代数及其应用》、概率论与数理统计4.计算机基础数据结构与算法《算法图解》—《数据结构与算法分析—java语言描述》—《
算法导论
温一杯酒
·
2020-07-14 17:41
计算机书籍推荐
[
算法导论
笔记]--所有结点对的最短路径问题
本文所贴示的伪代码均来源《
算法导论
》,本文只是对其中《所有结点对的最短路径问题》章节的简单总结,许多数学证明过程已忽略。
Alfheim_Cy
·
2020-07-14 17:55
算法
最大流模板(Maximum Flow)
最大流模板(MaximumFlow)一篇写得通俗易懂介绍最大流的文章:最大流模板【EdmondsKarp算法,简称EK算法,O(m^2n)】残留网络残存容量c~f~(u,v)=c(u,v)-f(u,v);
算法导论
中对残存网络的一些解释一条边所能允许的反向流量最多将其正向流量抵消
前几
·
2020-07-14 16:34
算法导论
所有节点对的最短路径问题 矩阵法
typedefstructVertexNode{charname;VertexNode*p;}Vertex,*pVertex;//图typedefstruct{intvn;int**E;pVertex*V;}Graph,*pGraph;//根据
算法导论
图
万万岁
·
2020-07-14 15:37
算法导论
算法导论
思考题 15-1(有向无环图中的最长简单路径)
图的实现比较麻烦。。写一下思路。。个人思路,没写代码实现过,不知道对错,欢迎批评指正。先将顶点排序,s放在第一个,t放在最后一个,中间假设分别是x1,x2,x3......,将他们存储到一个数组v[n]中设置权重表w[][],w[i][j]存储i到j的权重,初始化为原始图中v[i]到v[j]的权重,两点无有向路径初始化为负无穷,可以在O(E)时间内完成,其中E是图中有向边的数量,再初始化w[i][
万万岁
·
2020-07-14 15:36
算法导论
算法导论
第21章:并查集
算法分析的一个约定MAKE-SET的次数为nMAKE-SET、FIND-SET、UNION的总次数为m不相交数据集合的链表实现链表表示一个集合,结点表示一个元素。每个结点都有指向头节点的指针,头结点指向集合的代表元。MAKE-SET(x):创建一个只有一个结点的链表【O(1)】FIND-SET(x):元素的结点指向头节点,再指向代表元【O(1)】UNION(x,y):较短链表合并至较长链表,短链表
Salmon_lee
·
2020-07-14 13:55
算法导论
并查集
算法导论
不相交集合
最大流算法
算法导论
和很多大神博客都讲解的很详细。它其实就是不停的找增广路直到找不到为止。此时通过的所有流量就是最大流量。我推荐一篇文章:(基本过程讲解的很详细,我很收益。)
keep_moving_cqu
·
2020-07-14 13:47
算法
【
算法导论
之七】动态规划求解最长公共子序列
一、动态规划的概念动态规划(DynamicProgramming)是通过组合子问题的解而解决整个问题的。分治算法是指将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解而得到原始问题的解,与此不同,动态规划适用于子问题不是独立的情况,也就是各个子问题包含公共的子问题。在这种情况下,采用分治法会做许多不必要的工作,即重复地求解公共地子问题。动态规划算法对每个子问题只求解一次,将其结果
Monkey_Online
·
2020-07-14 11:22
算法导论
算法导论
习题解-第15章动态规划
编号以第3版为准#15.5-4改进最优查找树Knuthhasshownthattherearealwaysrootsofoptimalsubtreessuchthatroot[i,j-1]-INFandd[j]+wji>d[i]:d[i]=d[j]+wjireturnd[-1]#15-2最长回文子序列子序列不要求是连续的,比如character的最长回文子序列为carac。解法1:O(n^3),利
groovy2007
·
2020-07-14 10:47
(1)算法与数据结构简介
该算法简介作为数据结构与算法开篇的第一篇,目的有:1.系统介绍数据结构与算法的知识目录结构(该系列文章会以
算法导论
的内容做主要讲解)数据结构与算法的目录链接如下算法基础分析算法分治策略递归式求解的三种方法比较排序算法冒泡排序选择排序插入排序希尔排序递归排序快速排序堆排序线性排序算法计数排序基数排序桶排序数据结构栈和队列以及链表散列表
Mrsunup
·
2020-07-14 10:11
概率分析和随机算法(1)——
算法导论
(5)
1.雇用问题(1)提出问题你的老板让你为公司雇用一名程序员,现在有n个人投了简历。你每天会随机的从这n份简历中挑选一份,然后让对应的投简历者过来面试,每次面试都将花费C1。而你的雇用原则是:如果当前面试的程序员比目前的程序员优秀,那么你就辞掉目前的程序员,而花高价C2去聘请面试的这位程序员。你的老板愿意为该策略付费,但是想让你估算一下该费用会是多少。下面是这种策略的伪代码:(2)不科学的算法因为不
dayin201608
·
2020-07-14 09:42
齐姐漫画:排序算法(一)
插入排序借用《
算法导论
》里的例子,就是我们打牌的时候,每新拿一张牌都会把它按顺序插入,这,其实就是插入排序。齐姐声明:虽然我们用打牌的例子,但是可不能学胡适先生啊。对于数组来说怎么做呢?
fe_lucifer
·
2020-07-14 07:59
算法导论
习题15.4-5 15.4-6 找出一个n个数的序列中最长的单调递增子序列
算法导论
15.4-5请给出一个O(n^2)时间的算法,使之能找出一个n个数的序列中最长的单调递增子序列。这个题目是在动态规划部分,此处显然是要用到动态规划。
LucienDuan
·
2020-07-14 05:31
算法
平衡二叉树(c++)实现
平衡二叉树(c++)实现------欢迎指正-------1、参考资料:书籍:《
算法导论
》博文:http://www.cnblogs.com/fivestudy/fivestudy/p/10340647
PandaMohist
·
2020-07-14 04:06
算法导论
-第32章-字符串匹配:Rabin-Karp算法C++实现
#include#include#includeusingnamespacestd;intchar_to_int(charc){returnc-'0';}intmodule(intx,intq){if(xv{};intd{10};cout>d;intq{};cout>q;charelement{};cout>element){if(element!='a'){v.push_back(element
VanTrickster
·
2020-07-14 04:04
算法
算法导论
-第15章-动态规划:最长公共子序列(空间复杂度改进版)C++实现
#include#include#includeusingnamespacestd;intLCS(char*A,char*B,int*C,intm,intn){for(inti=1;i=C[i*(n+1)+j-1]){C[i*(n+1)+j]=C[(i-1)*(n+1)+j];}else{C[i*(n+1)+j]=C[i*(n+1)+j-1];}}}returnC[m*(n+1)+n];}intm
VanTrickster
·
2020-07-14 04:32
算法
算法导论
-第15章-动态规划:钢条切割问题自底向下方法C++实现
#include#include#includeusingnamespacestd;intcut_rod(intP[],intR[],intM[],intsize){inti{};intj{};for(i=1;imax){max=tmp;max_index=j;}}R[i]=max;M[i]=max_index;}returnR[size-1];}intmain(intargc,char*argv
VanTrickster
·
2020-07-14 04:32
算法
最大流(Maximum Flow)
《
算法导论
》最大流学习笔记一、流网络G=(V,E)是一个有向图,其中每条边(u,v)有一个非负的容量值c(u,v),而且如果E中包含一条边(u,v),那么图中就不存在它的反向边。
Britjeans
·
2020-07-14 02:33
algorithm
我的算法学习之路
关于严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如
算法导论
指的实际上是数据结构和
算法导论
),所以我认为本文题目是合理的。
迷渡
·
2020-07-14 00:34
学习
算法导论
公开课笔记(四)顺序统计、中值
顺序统计问题场景:给定具有n个元素的数组,已知数组是无序的,请找到第k小的元素并返回该元素(TOPK问题)。根据之前所学的算法我们可以得出一个原始方案:使用运行时间为Θ(nlgn)的排序算法(堆排序、归并排序)进行排序后返回数组索引为K的元素。该问题当K为如下特殊值的时候的情形:K=1:最小值K=n:最大值K=(n-1)/2:中值k值表示的不同意义随机化分治法随机化选择法用到了前面讲的随机化快速排
EboyWang
·
2020-07-13 23:32
矩阵乘法的Strassen算法详解 --(
算法导论
分治法求矩阵)
1题目描述2思路分析3解法4小结1题目描述请编程实现矩阵乘法,并考虑当矩阵规模较大时的优化方法。2思路分析根据wikipedia上的介绍:两个矩阵的乘法仅当第一个矩阵B的列数和另一个矩阵A的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积AB是一个m×p矩阵,它的一个元素其中1≤i≤m,1≤j≤p。image.png值得一提的是,矩阵乘法满足结合律和分配率,但并不满足交换律,如下图
艾剪疏
·
2020-07-13 22:06
经典面试题: 0, 1背包问题
背景知识:动态规划@
算法导论
p243题目某旅行者外出,需要将5件物品装入包中.包的总容量是12kg,物品重量及价值如表.问如何装这些物品,才能使得总价值最大?
陈码工
·
2020-07-13 20:30
二叉搜索树
二叉搜索树注意:本文的算法和代码思路大部分来自《
算法导论
》什么是二叉搜索树二叉搜索树首先是一棵二叉树,此外,它还能用来搜索。
裏表異体
·
2020-07-13 19:00
Python练习 快速排序(
算法导论
里的写法)100-5 20180730(5)
#coding=utf-8#快排,
算法导论
中的#defquicksort(L,p,r):#ifp
wangtiankuo
·
2020-07-13 16:31
python练习
算法导论
——堆排序(Heap-Sort)
//堆排序(Heap-Sort)/**堆排序大顶堆(小顶堆)*1:初次建堆Build_MAAX_HEAP();*2:堆的维护MAX_HEAPIFY();**性质(大顶堆):*堆中除根元素之外每个元素都满足A[PARENT(i)]>=A[i]*/importjava.util.Random;importjava.util.Scanner;publicclassMain{publicstaticvoi
zhou-wen-kun
·
2020-07-13 15:32
基础算法
算法导论
——快速排序(Quick-Sort)
///快速排序算法(Quick-Sort)/*与归并排序一样,快速排序也使用了分治的思想,它的步骤就是递归式的分别将每个元素放到它最终应该放置的位置.*第一步:分解数组A[p...r]被划分为两个(可能为空)的子数组A[p...q-1]和A[q+1...r],使得A[p..q-1]中的每一个元素都小于等于A[q],而A[q]小于等于A[q+1..r]中的每一个元素。*第二部:解决通过递归调用快速排
zhou-wen-kun
·
2020-07-13 15:32
基础算法
Python实现各类数据结构和算法---动态规划之最长公共子序列
根据《
算法导论
》中动态规划一章介绍的最长公共子序列原理,python实现,原理及伪代码书籍详见p223-225#coding:utf-8'''Createdon2014-3-19@author:admin
无限大地NLP_空木
·
2020-07-13 14:25
python
函数
递归面试题汇总
《
算法导论
》是不错的教材,不过大部头看起来确实需要发时间,到现在还只是大略看了一遍,很多推导过程没细心看下来,深以为憾,以后有时间还是要猛补。
石锅拌饭
·
2020-07-13 13:35
数据结构与算法
面试题系列
[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(三)
对于本熊而言读女人心简直堪比读
算法导论
,虽然两个都不太读得懂。
短短尾傻狗
·
2020-07-13 08:26
搜索引擎
算法导论
第七章:快速排序
快速排序是一种原地排序算法,其最坏的运行时间为n2,期望的运行时间为nlgn,且隐含的常数因子很小。所以快速排序通常是用于排序最佳的实用选择。7.3节介绍了快速排序的一个随机化变形,这一版本的平均运行时间较好,也没有什么特殊的输入会导致最坏运行状态。7.1快速排序的描述与合并排序一样,快速排序也是基于分治模式的。下面是对一个典型子数组A[p...r]排序的分治过程的三个步骤。分解:数组A[p...
longhuihu
·
2020-07-13 07:34
《算法导论》
算法导论
题解(二) 算法基础
文章目录1.插入排序练习2.分析算法练习1.插入排序练习1-1.以图2-2为模型,说明INSERTION-SORT在数组A=上的执行过程。1-2.重写INSERTION-SORT,使之按非升序(降序)排序。#伪代码INSERTION-SORT(A)forj=2toA.lengthkey=A[j]i=j-1whilei>=0andA[i]=0andA[i]和一个值v.输出:下标i使得v=A[i]或者
gf_lvah
·
2020-07-13 04:18
CS430算法导论
插入排序
归并排序
排序
伪代码
算法导论
题解(一) 算法在计算机中的应用
文章目录1算法练习2作为一种技术的算法的练习3.思考题1算法练习1-1.给出现实生活中需要排序的一个例子或者现实生活中需要计算凸壳的一个例子.排序:淘宝购物价格排序、销量排序、信用排序,学生单科成绩排序、总成绩排序,搜索广告排序等。凸壳:计算点集的直径。1-2.除了速度外,真实环境中还可能使用哪些其他有关效率的度量?内存效率编码效率算法的稳定度1-3.选择一种你已知的数据结构,并讨论其优势和局限性
gf_lvah
·
2020-07-13 04:47
CS430算法导论
归并排序法
对于这一过程的理解,
算法导论
中给出了一个形象的模型。即假设桌面上有两堆已排好序的牌,且每一堆都正面朝下
cany1000
·
2020-07-13 04:44
算法
算法导论
- 红黑树及红黑树平衡的详细解析个人理解
算法导论
-红黑树及红黑树平衡的详细解析个人理解红黑树一种数据结构,效率极高,插入和删除的操作的时间复杂度都是logn,虽然红黑树对于前端来说基本很少用到,但是作为一个目标是全栈的程序员来说,算法的学习是很必要的
何其涛
·
2020-07-13 04:36
前端笔记
算法
后端
算法
二叉树
[Week 1] Princeton Algorithm PartII WordNet
与KevinWayne共同编著的《算法》第四版作为教材,没有《
算法导论
》那么偏理论、晦涩难懂,能够把常见的数据结构和算法讲得很透彻,容易理解。更值得称道的是这门课编程作业及其评分系
lyy0905
·
2020-07-13 03:56
会当临绝顶,一览众山小
2015.7.5计划开启,每日更新进度,以此鞭策自己书单
算法导论
Javascript高级程序设计进度
算法导论
红黑树旋转的本质:中序遍历键值顺序一致左旋:即以x的右子为父节点,x的新右子为原右子的左节点,
哲人善思
·
2020-07-12 21:01
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
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
其他