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
【算法导论】
JDK8之HashMap源码解读
(建议阅读源码时手头有一份《
算法导论
》,我的下载资源里有完整高清的pdf)写的比较急,
补刀小次郎
·
2020-07-06 22:55
JDK源码
Edmonds-Karp算法,网络流最大流
在《
算法导论
》介绍了Edmonds-Karp算法,该算法运行时间在图G=(V,E)上为O(VE),基于BFS实现。实现过程是从残存网络中找到一条
Hermit_Inwind
·
2020-07-06 22:49
算法学习
秋招算法有救了,GitHub 50k Star《labuladong的算法小抄》终于免费开放下载了!
仓库作者labuladong最先提出「刷题要靠模板和套路」的观点,刷题就是应对面试拿offer,不要整什么《
算法导论
》这种花里胡哨的骚操作,只要按照
python爬虫人工智能大数据
·
2020-07-06 19:27
算法导论
系列:贪心算法(2)
这篇文章我们将来一起看看贪心算法一个具体例子,Dijkstra算法Dijkstra算法最著名的应用是解决单元最短路径,这是一类贪心算法,他先是求出长度最短的一条路径,然后参照这一条最短路径去求出长度次短的路径,知道求出从起点到各个定点的最短路径.这个算法不仅仅是贪心算法,其实也是一种特殊的动态规划,动态规划的本质是独立的子问题,而贪心每次可以求得最优的独立子问题,这两者有一些交集,但是收到很多约束
云时之间
·
2020-07-06 16:27
算法导论
题解索引
关于题解顺利被复旦大学拟录取之后,终于结束了漫长的考研生涯,开始静下心来学一些东西,
算法导论
之前看过一些,但是走马观花没有学到什么,主要问题就是没有好好的做后面的习题。
二喵棒棒哒
·
2020-07-06 14:20
算法导论题解
动态规划--钢条切割收益最大化问题
动态规划–钢条切割收益最大化问题这个是《
算法导论
》中动态规划一章的问题问题:对应给定长度n米的钢条,将其切割成k段(或不切k=1)出售,使收益最大,其中长度为i米的钢条,其出售价格为pip_ipi。
yangfengyougu
·
2020-07-06 10:00
动态规划
python
算法导论
之图算法--图的基本概念
是数据结构和算法学中最强大的框架之一(或许没有之一)。用途:1、用来表现所有类型的结构或系统2、交通网络3、通信网络4、下棋游戏5、最优流程6、任务分配7、人际交互网络。。。。。。下面首先介绍一下图论的基本概念,对其有基本了解之后再在实践中加深理解。图是将各种模型抽象成一些顶点,这些顶点之间可以通过图的边实现连接,即vretex和edge,如下图所示圆圈中的顶点和黑色的边:一、顶点电路图中电路元件
笨笨猪的学习之路
·
2020-07-06 09:25
算法学习
算法导论
——哈夫曼树
一、问题针对大量的数据集,设计算法高效求出部分字符的哈夫曼编码说明:本文为哈夫曼编码的应用,基本哈夫曼编码实现见博客:http://blog.csdn.net/xiaowang627/article/details/51483267二、算法分析用一个mapaddr存储每个字符以及构造好的哈夫曼树中该字符的地址,任意给出一个字符,检索该map映射可以得到该字符地址,然后从改地址开始自顶向上搜索,若当
砺晗
·
2020-07-06 08:24
数据结构
算法导论
中求解时间复杂度的三种方法
这一章讲的是递归式(recurrence),递归式是一组等式或不等式,它所描述的函数是用在更小的输入下该函数的值来定义的。本章讲了三种方法来解递归式,分别是代换法,递归树方法,主方法。1.代换法(Substitutionmethod)(P38~P40)定义:即在归纳假设时,用所猜测的值去代替函数的解。用途:确定一个递归式的上界或下界。缺点:只能用于解的形式很容易猜的情形。总结:这种方法需要经验的积
长弓的坚持
·
2020-07-06 07:33
算法
我的算法学习规划
目录第一阶段:
算法导论
第二阶段:TAOCP算法卷第三阶段:刷题阶段第一阶段:
算法导论
第一阶段:时间:11.26.~12.21(25天)第一阶段目标:掌握算法核心知识,掌握算法和数据结构的本科和研究生课程
彪悍的人生不需要解释哈
·
2020-07-06 04:47
算法
重要文章
排序算法之堆排序—原地排序O(nlgn)
《
算法导论
》第6章介绍堆排序(heapsort)像插入排序而不像合并排序,是一种原地(inplace)排序算法:任何时候,数组中只有常数个元素存储在输入数组之外。并且时间复杂度为O(nlgn)。
Darren.P
·
2020-07-06 04:58
算法与数据结构
程序员:
算法导论
,分治法、归并排序,伪代码和Java实现
分治法我们首先先介绍分治法。分治法的思想:将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后在合并这些子问题的解来解决原问题的解。还是拿扑克牌举例子,假设桌上有两堆牌面朝上的牌(牌面朝上:有值),每堆都已排序,最小的牌在顶上。我们希望把这两堆牌合并成单一的排好序的输出堆,牌面朝下地放在桌上。应该怎么做呢?我们的做法是:在牌面朝上的两堆牌的顶上两张牌中选取较小的一张,将该牌
冬天的落叶1912
·
2020-07-06 03:27
MIT
算法导论
——渐进符号
两部分内容:介绍渐进符号介绍递归及解法渐进符号O-notationf(n)=O(g(n)),表示存在c>0,n0>0使得0≤f(n)≤c·g(n)对于所有n≥n0时成立。Ex:2n2=O(n3)。注意这里的等号是不对称的,只能从左到右成立反之则不成立,更形象的是记做2n2∈O(n3)。f(n)的复杂度最多与g(n)一个数量级,即小于等于(0,n0>0使得0≤c·g(n)≤f(n)对于所有n≥n0时
frank+wang
·
2020-07-06 03:32
《
算法导论
》动态规划 -------python 钢条切割问题
1.钢条切割问题:一段长为n的钢条和一个价格表pi(i=1,2,3,4,...,n),求切割方案,使得销售收益Rn最大。长度i12345678910价格pi1589101717202430长度为n的钢条有2^(n-1)种切割方案(因为在距离钢条左端i(i=1,2,,3,...,n-1)处,我们总是可以选择切割或者不切割)设一个最优切割方案将钢条切为k(1≤k≤n)段,最优切割方案为:n=i1+i2
鸡蛋和番茄的故事
·
2020-07-06 02:58
python
从 活动选择问题 看动态规划和贪心算法的区别与联系
这篇文章主要用来记录我对《
算法导论
》贪心算法一章中的“活动选择问题”的动态规划求解和贪心算法求解的思路和理解。
weixin_34320724
·
2020-07-06 01:56
算法导论
-基础知识-算法入门
插入排序问题输入:n个数(a1,a2,···,an).输出:输入序列的一个排列(即重新排序)(a'1,a'2,···,a'n),使得a'1=0&&A[i]>key){A[i+1]=A[i];i-=1;}A[i+1]=key;}NSLog(@"排序后数组:");printArr(A,length);}排序规则见图插入排序a.将2插入到5前面。那么1,2位置顺序拍好了b.将4插入到5面前,那么1,2,
充满活力的早晨
·
2020-07-06 00:40
数据结构图的经常使用算法总结
数据结构图的经常使用算法总结本人在校期间写了一个win32应用程序,用于回想
算法导论
图的经常使用算法(图中边的权值为两个圆心的像素点的距离)1.dijkstra算法求两点之间最短路径:贪心算法用优先队列实现
Vincen??
·
2020-07-06 00:05
计数排序、插入排序
算法说明请参考
算法导论
1#ifndefCOUNTSORT_H2#defineCOUNTSORT_H34#include56usingnamespacestd;78/*******************
weixin_33908217
·
2020-07-05 23:03
算法串匹配C++实现字符串匹配的KMP算法
新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,迎欢批评指正之前看《
算法导论
》符字串匹配分部讲到KMP算法,被弄得云里雾里。
weixin_33763244
·
2020-07-05 22:05
(转)一些经典的计算机书籍
1.
算法导论
(第2版)2.代码大全(第2版)3.C++Primer中文版(第4版)4.设计模式:可复用面向对象软件的基础5.浪潮之巅6.Java编程思想(第4版)7.Java核心技术卷1:基础
weixin_30332241
·
2020-07-05 20:31
《
算法导论
》第三版第11章 散列表 练习&思考题 个人答案
11.1直接寻址表11.1-1解:DIRECT-ADDRESS-FINDMAX(T)fori=T.length-1to0ifT[i]!=NILreturnT[i]最坏情况O(m)O(m)O(m)。11.1-2思路:1代表存在,0代表不存在;插入置位,删除复位。11.1-3思路:可以将寻址表的每一个元素指向包含相同关键字的一个双向循环链表。再使用第10章的相关知识完成。11.1-4解(来自参考答案)
张劲声
·
2020-07-05 18:38
算法
快速傅里叶变换学习及C语言实现
参考:《
算法导论
》第30章从头到尾彻底理解傅里叶变换算法、上Cooley–TukeyFFTalgorithmFFT(快速傅里叶)c语言版数字信号处理–FFT与蝶形算法在线MATLAB一、引言首先回顾信号与系统的知识
wsqyouth
·
2020-07-05 18:40
数字信号及matlab
kmp算法字符串匹配C语言实现
就查了查kmp的资料翻了下
算法导论
,感觉像在看数学书,看不太懂,最后还是网上看的博客……理解kmp的思路可以看这个http://kb.cnblogs.com/page/176818//*********
普朗克常量
·
2020-07-05 18:24
算法leetcode
计算算法时间复杂度的主方法的一种较为简洁的记忆方法
这阵子在认真地看着
算法导论
,之前看到第四章计算分治法的时间复杂度的计算方法被称为“主方法”,运用这个主方法可以快速地口算出分治算法的递归式的时间复杂度,以下给出
算法导论
里关于主方法的描述吧,我就直接截图不得不说
jusonalien
·
2020-07-05 17:51
乱搞
[
算法导论
笔记]建立二叉堆
二叉堆是基于数组的数据结构,由在数组上定义的left()right()parent()操作,以及heapsize属性,可以把它视为二叉树。如图,根节点有两个叶子结点,分别对应的数组下标为1和2,通过left()和right()操作实现(下标位移再加偏移),而叶子结点的父节点通过parent()操作实现。由于此时的heapsize是3,因此数组中下标为3的第四个元素并没有加入堆中。二叉堆分为最大堆和
君浪
·
2020-07-05 16:41
算法
为了面试,头条的美女师姐推荐了几本计算机硬核神书
像深入理解计算机系统(CSAPP)[1]和
算法导论
这两本书,绝对是计算机领域
陆道峰
·
2020-07-05 16:52
Python实现经典排序算法--快速排序
网络上用python实现快速排序有四种实现方式,有用匿名函数lambda表达式和双重循环实现的,也有用栈实现非递归的排序,这里我只讲一讲利用
算法导论
里面的分治思想,迭代来实现序列的快速排序。
东东oyey
·
2020-07-05 16:08
基础算法
插入排序的递归实现和二分查找递归实现,
算法导论
2.3-4和2.3-5
while语句的时候写成while(i>=0&&i>key)没注意,还纳闷死了,怎么会错。#include"stdafx.h"#includeusingnamespacestd;voidreInsertSort(inta[],intlength);booldiFind(inta[],intbegin,intend,intval);intmain(){inta[]={9,8,7,6,5,4,3,2,
RetaMia
·
2020-07-05 15:39
【
算法导论
】图的广度优先搜索遍历(BFS)
图的存储方法:邻接矩阵、邻接表例如:有一个图如下所示(该图也作为程序的实例):则上图用邻接矩阵可以表示为:用邻接表可以表示如下:邻接矩阵可以很容易的用二维数组表示,下面主要看看怎样构成邻接表:邻接表存储方法是一种顺序存储与链式存储相结合的存储方法。在这种方法中,只考虑非零元素,所以在图中的顶点很多而边很少时,可以节省存储空间。邻接表存储结构由两部分组成:对于每个顶点vi,使用一个具有两个域的结构体
nineheaded_bird
·
2020-07-05 14:51
C/C++
算法
算法之道
c语言最小堆的实现-优先队列
二、相关知识2.1最小堆(最小优先队列)“优先队列(priority)是一种用来维护由一组元素构成的集合S的数据结构”——
算法导论
P90按照简单可以理解为使用数组实现的二叉树的数据结构,并满足每个子节点
staticnetwind
·
2020-07-05 13:38
linux
算法导论
第三版参考答案
1.1-1Giveareal-worldexamplethatrequiressortingorareal-worldexamplethatrequirescomputingaconvexhull.Sorting:browsethepriceoftherestaurantswithascendingpricesonNTUstreet.Convexhull:computingthediametero
sophies671207
·
2020-07-05 13:34
算法
如何证明算法的正确性?
结合
算法导论
相关章节的学习,利用好循环不变式可以帮助我们理解算法的正确性。循环不等式主要满足以下的三条性质:初始化:循环的第一次迭代之前,它为真。
RSABLOCKCHAIN
·
2020-07-05 12:32
算法
Python实现 《
算法导论
第三版》中的算法 第10章 基本数据结构
文章目录第10章基本数据结构10.1栈和队列10.2链表第10章基本数据结构10.1栈和队列栈和队列都是一种动态集合。栈实现后进先出(last-in,first-out,LIFO)的策略:最后进入的元素被最先删除。队列实现先进先出(first-in,first-out,FIFO)的策略:最先进入的元素被最先删除。下面实现了书中的栈,包括:P129:STACK-EMPTY,判断链表是否为空,见sta
schdut
·
2020-07-05 11:31
默认
Python
算法
Python实现 《
算法导论
第三版》中的算法 第9章 中位数和顺序统计量
目录第9章中位数和顺序统计量9.1最小值和最大值9.2期望为线性时间的选择算法9.3最坏情况为线性时间的选择算法第9章中位数和顺序统计量在一个有nnn个元素组成的集合中,第iii个顺序统计量(orderstatistic)是该集合中第iii小的元素。例如,最小值是第1个顺序统计量(i=1i=1i=1),最大值是第nnn个统计量。中位数比较特殊,当nnn为奇数时,它是唯一的;当nnn为偶数时,存在两
schdut
·
2020-07-05 11:31
默认
算法
Python
Python
算法导论
数据结构+算法系列二: 所有知识点的梳理(持续更新中)
我的方法论就是先将数据结构和
算法导论
中自己知道的大的知识点全部列出来,然后开始onlinejudge,并和知识点对应。由于目前不能很好的总结,所以是一个持续的更新过程。
一座青山
·
2020-07-05 11:30
数据结构+算法
书单
linux程序设计8.现代操作系统9.unix环境高级编程10.Linux内核设计与实现11.计算机网络自顶向下分析方法12.http权威指南13.unix网络编程14.编译原理15.数据结构C语言描述16.
算法导论
不知名小号
·
2020-07-05 06:33
数据结构之树--二叉树/B树/B+树/红黑树及相关算法
树前言:以下所有概念来自教材、
算法导论
或其他权威资料,如有记录出错,欢迎指正定义树是一种非线性的数据结构树是若干个结点的集合(个数>=0),是由唯一的根和若干棵互不相交的子树组成树的结点树可以为0,对于这种树
_xiaoxiao程序员
·
2020-07-05 05:13
数据结构
算法导论
2.1.4
问题描述:有两个存放在数组A和数组B的N位二进制,考虑它们相加问题。两个整数的和以二进制形式存放在一个具有(n+1)个元素的数组C中。问题思考:假设两个二进制数组,高位在前,低位在后,从后往前加--即从高位往地位加,循环顺序则为从大到小(n-1到0)。c[i]=a[i]+b[i],这样写当a[0]=1,b[0]=1时,还有个进位无法存放,当然可以printf("%d",carry_flag);(c
小菜鸡,冲冲冲
·
2020-07-05 04:02
《
算法导论
(第二版)》习题22.1-6:图的通用汇点(Universal Sink)
问题如果我们用邻接矩阵来存储图,那么绝大多数图算法的运行时间都是Ω(|V|2)(V为一个图的顶点集),但还是有些例外。比如,给定一个有向图G的邻接矩阵A,我们可以在Ο(|V|)时间内判断图G是否包含一个通用汇点,即一个入度为|V|-1出度为0的顶点。请给出这样的算法。教师手册的解法(注:教师手册的解法和我的基本一样,只不过在细节上有略微差别。在我的算法中,“光标”始终在A的对角线和上三角区域中活动
pandf
·
2020-07-05 01:05
总述
最近看到一部MIT的《
算法导论
》课程视频,结合书籍进行了学习。感受颇多。以前自己学习的笔记主要都是以纸质笔记为主,好多笔记再重新阅读的时候总有许多不便。因此,这次已博客的方式记录。
onyheart
·
2020-07-05 01:17
《算法导论》读书笔记
数据结构与算法整理
好早之前就买了《
算法导论
》这部巨著,然而,现在依然束之高阁,最近想着从简单点的看起,于是翻了翻《大话数据结构》《啊哈!算法》,因为也还没看完,下面就想到哪说到哪咯。
乐翔K
·
2020-07-05 00:45
算法导论
-22.2-7-树的直径
一、题目树T=(V,E)的直径(diameter)定义为max(u,v),亦即,树的直径是树中所有最短路径长度中的最大值。试写出计算树的直径的有效算法,并分析算法的运行时间。二、思考step1:以树中任意一个结点为源点,进行一次广度优先遍历,找出离源点距离最远的点dstep2:以d为源点,进行一次广度优先遍历,找出离d最远的点,并记录其长度三、代码//用邻接表实现图的转置#include#incl
windmissing
·
2020-07-05 00:31
算法导论
数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法
定义如下:如果对证明感兴趣的可以翻阅书籍:《
算法导论
》。如果觉得太难思考,可以跳过该节。由于主定理的公式十分复杂,所以这里有一种比较简化的版本来计算:二、举例二分
陈星星-
·
2020-07-04 23:41
<<
算法导论
>>学习之二分查找
intmethodFirst(){intkey=3;intarray[]={1,3,5,7,9};intL=0;intR=sizeof(array)/sizeof(array[0])-1;while(Larray[M]){L=M+1;}else{returnM;}}return-1;}
孙金亮
·
2020-07-04 23:43
插入排序与希尔排序
jingmoxukong/p/4303279.htmlhttp://www.cnblogs.com/jingmoxukong/p/4303279.html在任意算法能够正常运行之前,必须,有一些前置条件;1.插入排序
算法导论
中
zhaoyubetter
·
2020-07-04 23:53
了解堆排序并用js实现
根据《
算法导论
》,理解堆排序需要了解:堆结构、保持堆性质、建堆、最后是堆排序算法。一、堆一种数据结构,可视为完全二叉树。如下图一个父节点最多分二叉,圆圈上面数字是节点序号,可以看到一层层由左向右排列。
longpersevere
·
2020-07-04 22:21
算法
算法导论
第十二章:二叉查找树
查找树是一种数据结构,它支持多种动态集合操作,包括search,minimum,maximum,predecessor,successor,insert以及delete。他既可以用作字典,也可以用作优先队列。二叉查找树上基本操作的执行时间和树的高度成正比。对一棵n个结点的完全二叉树来说,这些操作的最坏情况运行时间为Θ(lgn)。但是如果树是含有那个结点的线性链,则这些操作的最坏运行时间是Θ(n)。
longhuihu
·
2020-07-04 22:15
《算法导论》
算法导论
第21章思考题
脱机最小值(off-lineminimumproblem)输入给定一个操作序列,包括INSERT(x)和EXTRACT-MIN,操作数x∈[1,n]样例输入4,8,E,3,E,9,2,E,E输出将第i次EXTRACT-MIN的数保存在extract[i]中在线算法建立一个优先队列,给定一个操作,马上在优先队列中做出相应改变即可离线算法(off-line)算法解释:将样例输入看成S1,E,S2,E,
Salmon_lee
·
2020-07-04 21:19
算法导论
MIT
算法导论
八 全域哈希和完全哈希
-全域哈希-完全哈希普通哈希的一个缺点:对任意的hash函数h,总存在一组keys,让他们都映射到同一个槽里面,这样效率,就跟离链表差不多了解决的思想就是:独立于键值,随机的选择hash函数。这就跟快排中为避免最差情况时随机化版本差不多。但是选取hashfunction的全局域是不能乱定的,否则也打不到理想的性能。全域哈希设U是key的全局域,设H是哈希函数的有限集合,H函数将U映射到{0,1,.
Alex90
·
2020-07-04 21:13
算法导论
- QuickSort 快速排序 C++实现
算法导论
的快速排序还和一般书上的快速排序是有点不一样的。当然书习题也给出了一般快速排序的方法,其分区函数学名叫Hoarepartition。
靖心
·
2020-07-04 20:09
Algorithm算法
算法和数据结构C++实现
算法导论
QuickSort
快速排序
C++实现
上一页
26
27
28
29
30
31
32
33
下一页
按字母分类:
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
其他