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
算法导论(第3版)
《
算法导论
》第三版第12章 二叉搜索树 练习&思考题 个人答案
12.1什么是二叉搜索树12.1-1高度为2:高度为3:高度为4:高度为5:高度为6:12.1-2解:最小堆的结点值总不大于孩子结点的值,而二叉搜索树的结点值不小于左子树元素结点的值,不大于右子树元素结点的值;最小堆性质无法在O(n)时间内按序输出一棵有n个结点树的关键字,因为堆(以最小堆为例)无法告知大于当前结点的最小元素是在左子树还是在右子树。换一个角度考虑,如果真的有这种方法,意味着存在O(
张劲声
·
2020-09-12 17:12
算法
数据结构与算法之美--开篇
开篇词|从今天起,跨过“数据结构与算法”这道坎《
算法导论
》腾讯T4,长期负责手机QQ后台整体建设,用了不到半年时间,就把区块链的整个技术脉络摸清楚了。
随心而至
·
2020-09-12 17:39
Algorithm
数据结构与算法之美
极客时间
算法导论
思考题9-2
9-2 (带权中位数)对分别具体以正权重w1,w2,⋯ ,wnw_1,w_2,\dotsb,w_nw1,w2,⋯,wn,且满足∑i=1nwi=1\sum_{i=1}^{n}{w_i=1}∑i=1nwi=1的nnn个互异的元素x1,x2,⋯ ,xnx_1,x_2,\dotsb,x_nx1,x2,⋯,xn来说,带权中位数xkx_kxk(较小中位数)是满足如下条件
007havegone
·
2020-09-12 16:17
算法导论
算法导论
经典算法:红黑树的C语言实现 ( 插入 、删除 )
红黑树这个东西可以说是传说中的“牛刀”了,一般的小场合是用不上滴,但是我觉得还是很重要,所以花了将近三天,对照着
算法导论
,把红黑树给实现出来了,有关红黑树的资料很多,大家可以在网上先搜一下,最好是能亲自看看
算法导论
fantasywindy
·
2020-09-12 16:40
《数据结构与算法之美》-为工程师量身打造的数据结构与算法私教课
像《
算法导论
》这些经典书籍,虽然很全面,但是过于缺乏重点。很多人学起来都非常困难。而市面很多在线课程
fe_lucifer
·
2020-09-12 15:05
期望为线性时间的选择算法
《
算法导论
》
第3版
9.2提到了期望为线性时间的选择算法randomized_select算法是以第7章的快速排序算法为模型的。与快速排序一样,我们仍然将输入数组进行递归划分。
涛爸
·
2020-09-12 15:27
算法基础
笔记(带权中位数)
(图截自
算法导论
)先做下笔记,记住结论。
SunshineAround
·
2020-09-12 15:08
算法
麻省理工公开课《
算法导论
》笔记([第1集] 课程简介及算法分析)
找了网易公开课上麻省理工的公开课《
算法导论
》,讲得十分精彩。自己记了一些笔记,持续分享!
ourhonor
·
2020-09-12 14:42
算法导论笔记
麻省理工学院公开课:
算法导论
观后感 —— 性能是一种货币
作为程序员,性能两个字一直围绕着大家的工作和学习,各种技术推陈出新,各种思想不断涌现几乎都是为了性能,因为人类本质就有着对速度的追求,所以最火爆的体育项目是足球,篮球而不是围棋。代码是人写的,自然也不例外,同样一个功能我的耗时比你短,那我自然就在行业里占据了先机,而为了提升性能,五花八门琳琅满目的解决方案层出不穷,除去升级硬件带来的性能提升,程序员更关心的应该就是算法层面的性能提升了。而最近正在网
喜欢柯基的柴
·
2020-09-12 14:40
算法
快速排序(
算法导论
实现)
版本一:QUICKSORT(A,p,r)1ifpA[j]7exchangeA[i+1]A[r]8returni+1ok,咱们来举一个具体而完整的例子。来对以下数组,进行快速排序,28713564(主元)一、ip/j28713564(主元)j指的2A[r],即8与4交换,所以,数组最终变成了如下形式,21347568ok,快速排序第一趟完成。4把整个数组分成了俩部分,213,7568,再递归对这俩部
zhanghaotian2011
·
2020-09-12 14:22
C++
数据结构与算法
算法导论
— 7.4 快速排序分析
笔记本节给出快速排序运行时间的详细分析。(1)最坏情况运行时间假设T(n)T(n)T(n)是最坏情况下QUICKSORT的运行时间,那么T(n)T(n)T(n)满足以下递归式因为调用PARTITION生成的2个子数组的长度加起来为n−1n-1n−1,因此上式中参数qqq的变化范围是0n−10~n-10n−1。我们用代入法来证明T(n)=Θ(n2)T(n)=Θ(n^2)T(n)=Θ(n2)。先证明T
yangtzhou
·
2020-09-12 14:28
算法导论
麻省理工公开课
算法导论
(一):peak finder
PeakFinderLectureOverviewPeakFinderOne-dimensionalVersion(一维版本)Two-dimensionalVersion(二维版本)前言本篇来自于笔者学习MIT的公开课
算法导论
的学习笔记
wtopps
·
2020-09-12 14:00
算法
峰值查找
peakfinder
算法
麻省理工算法
MIT
算法导论
公开课第七讲哈希表
哈希表又称散列表,其定义是根据一个哈希函数将集合S中的关键字映射到一个表中,这个表就称为哈希表,而这种方法就称为Hashing。从作用上来讲,构建哈希表的目的是把搜索的时间复杂度降低到O(1),考虑到一个长度为n的序列,如果依次去比较进行搜索的话,时间复杂度是θ(n),或者对其先进行排序然后再搜索会更快一些,但这两种方法都不是最快的方法。一、直接寻址表直接寻址表就是一个数组。每个数存在相应的下标内
一路前行1
·
2020-09-12 14:16
Algorithm
《
算法导论
》
序言近期有学习算法打算,顾记录此阶段学习《
算法导论
》中课程以及课后系统部分的编码,及各个算法执行的步骤
anyCloud.tech
·
2020-09-12 14:05
《算法导论》
算法导论
学习笔记四---快速排序及随机化算法
2019独角兽企业重金招聘Python工程师标准>>>算法特点:1.分治法设计2.节省内存3.非常实用算法过程:设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变
weixin_33797791
·
2020-09-12 14:10
算法导论
笔记:02基本排序查找算法
1:插入排序:类似于扑克牌,为了将一张牌插入正确的位置,从右向左将它与已在手中的每张牌进行比较,这样,拿在手上的牌就总是排序好的。分析该算法的时间复杂度:求和:因此,最好运行时间为:可以把运行时间表示为an+b。因此这是n的线性函数。最差运行时间为:把该最坏情况运行时间表示为an^2+bn+c,因此,它是n的二次函数。所以,插入排序的时间复杂度为Ө(n^2)。2:选择排序:首先找出A中的最小元素并
weixin_30827565
·
2020-09-12 14:33
算法导论
笔记:08线性排序
之前的排序算法都是比较排序:在排序的最终结果中,各元素的次序依赖于他们之间的比较。任何比较排序在最坏情况下,都要经历Ω(nlgn)次比较,所以,归并排序和堆排序都是渐进最优的。除了比较排序之外,还有其他的排序方法,但是都必须满足一定的前提条件,这些排序算法的下界不再是Ω(nlgn),而可以达到线性的下界。1:决策树模型比较排序可以抽象成一颗决策树,他表示在给定的输入规模的情况下,某一特定排序算法对
weixin_30787531
·
2020-09-12 14:01
算法导论
之快速排序---学习笔记
最近一直在看《
算法导论
》,看完麻省理工的视频,才敢动手敲敲代码。对于一些经典算法感觉看了就会忘,只有自己体会了消化了才会成为自己的东西,在这里就相当于写写笔记加深印象。
weixin_30670965
·
2020-09-12 14:29
MIT
算法导论
——第四讲.Quicksort
本栏目(Algorithms)下MIT
算法导论
专题是个人对网易公开课MIT
算法导论
的学习心得与笔记。
weixin_30576827
·
2020-09-12 14:56
算法导论
笔记:06堆排序
满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(也可以这样理解,除叶子节点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上)1:堆排序的时间复杂度为O(nlgn)。具有空间原址性的特点,也就是任意时刻只需常数个额外元素空间存储临时数据。2:堆是一颗近似完全二叉树:除了最底层外,该树是完全充满的,最底层是从左向右填充的。3:堆可以用数组存储,对于元素下标
weixin_30536513
·
2020-09-12 14:54
算法导论
-快速排序
算法导论
中快速排序的分治解法相当简介,在此我用C++来加以记录。代码intPartition(inta[],intf,intl){inti=f-1;for(intj=f;jf){intp=Par
weixin_30537391
·
2020-09-12 14:54
算法导论
笔记:22基本图算法
本章阐述图的表示方法和图的搜索方法。图的搜索指的是系统化的沿着图的边访问所有顶点。图的搜索算法可以用来发现图的结构。许多图的算法在开始时,都是通过搜索获取图结构信息。另外还有一些图的算法实际上是由基本的图搜索算法经过简单扩充而成的。因此。图的搜索技术是图算法领域的核心。一:图的表示对于图G=(V,E),可以有两种表示方法:邻接链表和邻接矩阵。两种表示方法既可以表示无向图,也可以表示有向图。邻接链表
weixin_30235225
·
2020-09-12 14:17
数据结构与算法
算法导论
:排序算法笔记
排序算法相关笔记详细笔记堆排序:http://blog.csdn.net/u013948010/article/details/78680480快速排序:http://blog.csdn.net/u013948010/article/details/78690467归并排序:http://blog.csdn.net/u013948010/article/details/78696783计数排序:h
Imcy
·
2020-09-12 14:54
算法导论
C++
从一个数组中同时找出最大最小数-
算法导论
第九章
(1)首先,从一个数组中找出一个最大或最小值,只需要遍历一次,进行n-1次比较就可以得到for(inti=0;iarray[i]){min=array[i];}(2)同时取出最大最小值呢,同时意味着只经过一次遍历实际上,至多只需要3*n/2次就可以了可以将元素按对来处理,先比较每一对的大小,再把大的和最大值比较,小的和最小值比较。分奇偶:奇数个:把最大和最小值都先设为第一个值偶数个:把最大和最小分
浪飘
·
2020-09-12 14:24
算法
算法导论
(
算法导论
)快速排序
快速排序(
算法导论
)算法思想一个单向的指针来对数组进行遍历:(1)首先将第一元素设置为基准元素,初始化i=low,j=low+1(2)利用j从第二个元素开始与基准元素比较,如果大于基准元素则什么都不执行
哥兜兜有棉花糖
·
2020-09-12 14:41
java
快速排序
算法导论
第7章 快速排序
算法导论
第7章快速排序快速排序是一种最坏情况时间复杂度Θ(n2),但平均时间复杂度Θ(nlgn)的排序算法,且Θ(nlgn)中隐含的常数因子非常小。
super_chicken
·
2020-09-12 14:06
算法导论
《
算法导论
》学习分享——总览
Introduction-to-Algorithms注:所有内容都是拷贝自我的github仓库Introduction-of-Algorithms,欢迎关注!Learning>,andpushAlgorithmsandPracticestoserverformanagementandsharing.网易有这门课程的公开课,是由本书的作者之一CharlesLeiserson讲解的。书中看不懂的可以参
MaoMao-go
·
2020-09-12 13:23
《算法导论》分享
MIT
算法导论
课程笔记5: 线性排序算法
课程网站:http://open.163.com/special/opencourse/algorithms.html常见的mergesort,quicksort,insertsort,heapsort都是基于比较的排序算法,即通过比较元素的相对大小,确定排序顺序。这节课首先通过decisiontree理论上证明了基于比较的排序算法的平均时间复杂度不会好于O(nlogn)O(n\logn)O(n
silent56_th
·
2020-09-12 13:19
MIT算法导论
麻省理工《
算法导论
》视频下载
《
算法导论
》是太经典和权威的算法方面的专著,一直都是在看《
算法导论
》的英文版本的教材(introductiontoalgorithm),看起来确实很吃力,进度比较慢。
shaohui
·
2020-09-12 13:42
算法分析
算法
algorithm
MIT
算法导论
公开课之第23课 高级课题、缓存参数无关算法(二)
静态搜索树将N个元素有序的存储在一个完全二叉树的N个结点中。数据存储方式:在树位于中间层的边的位置将其分割为两部分。递归的分割上一步骤分割后产生的所有子树,将所有子树线性的存储在内存之中。Ex:存储传输量:缓存相关的算法考虑缓存相关的算法一般是用来确定优化的上界。B-搜索树排序用N个元素构建搜索树,然后中序遍历这棵树。存储传输量:MT(N)=O(N·logBN)(缓存相关)O(N)阶就相当于随机访
rye_whiskey
·
2020-09-12 13:40
算法导论公开课笔记
MIT
算法导论
公开课之第21课 高级课题、并行算法(二)
矩阵乘法A、B为nxn的矩阵,计算矩阵C=A·B,使用分治法(使用将矩阵分块的策略)。算法伪码:Mult(C,A,B,n)//C=A·BTempmatrixT[1~n,1~n]ifn=1C[1,1]←A[1,1]·B[1,1]else//O(1)spawnMult(C11,A11,B11,n/2)spawnMult(C12,A11,B12,n/2)spawnMult(C21,A21,B11,n/2
rye_whiskey
·
2020-09-12 13:39
算法导论公开课笔记
MIT
算法导论
公开课之第3课 分治法
分治法1.将一个问题划分为若干个子问题。2.递归的解决每一个子问题。3.将子问题的解合并成为整个大问题的解。归并排序1.将一个数组分为两个子数组。2.递归的对每一个子数组进行排序。3.合并两个有序子数组。运行时间递归函数为T(n)=2T(n/2)+Θ(n)。使用主方法,为case2,所以T(n)=Θ(nlgn)。二分查找在有序数组中查找数X。1.把数X与数组中间元素比较,得到X所在的子数组。2.递
rye_whiskey
·
2020-09-12 13:39
算法导论公开课笔记
MIT
算法导论
公开课之第10课 平衡搜索树
平衡搜索树一种搜索树结构,其维护一个n个元素的动态集,树高为O(lgn)。不同的平衡搜索树数据结构AVLtrees2-3trees2-3-4treesBtreesRed-blacktreesSkiplistsTreaps红黑树红黑树是二叉搜索树,其每个结点都会附带一些额外的信息,被称为色域,红黑树的特性1.每个结点的色域值为黑色或红色,因此只需一个位来标明结点的色域。2.树的根结点和叶节点的色域值
rye_whiskey
·
2020-09-12 13:39
算法导论公开课笔记
MIT
算法导论
公开课之第20课 高级课题、并行算法(一)
并行算法对于串行算法,一般只有一种基础模型(随机存取机器模型),而在并行领域,有许多种不同的并行算法模型和并行化模型,没有一种最佳模型的共识。本节课讨论的模型基于动态多线程的多核机器,它是为共享内存的编程而设计的。Ex:Fib(n)ifn=T1/P(因为P个处理器每一步最多能做P个线程)Tp>=T∞(∞个处理器中总可以取出P个处理器来工作,以达到Tp时间)注:在做任何优化工作前,最好先想办法衡量一
rye_whiskey
·
2020-09-12 13:39
算法导论公开课笔记
MIT
算法导论
公开课之第22课 高级课题、缓存参数无关算法(一)
现代计算机存储层次模型-现代计算机有多级缓存的机制,越靠近CPU的缓存容量越小,速度越快。这样设计的原因,一方面是靠近CPU的缓存制作成本高,价格昂贵,另一方面是极限速度受电荷传导速度限制,存储容量做大必定会降低存取速度。-Costtoaccess=latency+amount/bandwidth可知在存储层次上越远离CPU延迟(latency)越长,计算机不同层次的带宽(bandwidth)是相
rye_whiskey
·
2020-09-12 13:39
算法导论公开课笔记
MIT
算法导论
公开课之第15课 动态规划、最长公共子序列
动态规划(Dynamicprogramming)动态规划是一种设计技巧,而不是一种特定的算法,就像分治法一样。最长公共子序列(Longestcommonsubsequence)问题有两个序列,序列x[1~m],序列y[1~n],找到它们的最长公共子序列,子序列不需要在原序列中占用连续的位置(最长公共子串要求连续),子序列可能不唯一。Ex:x:ABCBDABy:BDCABA公共子序列:BDABBCA
rye_whiskey
·
2020-09-12 13:39
算法导论公开课笔记
MIT
算法导论
公开课之第2课 渐进符号、递归及解法
O符号(上界)f(n)=O(g(n))(0n0>0当n>=n0时使得0=)存在c>0n0>0当n>=n0时使得00当n>=n0时使得0)对任意的c存在n0>0当n>=n0时使得0=0因为c的取值任意例如当c的值为2时不等式成立。验证基本情况T(1)=Θ(1)=0(进入死路)。思路3改进归纳假设:1.假设T(n)=O(n^2)。2.则有T(k)=0当c2>=1时不等式成立。4.验证基本情况T(1)=
rye_whiskey
·
2020-09-12 13:07
算法导论公开课笔记
MIT
算法导论
公开课之第1课 课程简介及算法分析
先修课程离散数学、概率论、编程课程算法分析算法分析是理论研究,是关于计算机性能和资源利用的研究(尤其关注性能)。比性能更重要的因素比如有正确性、简洁性、可维护性、编程成本、稳定性、功能性、模块化、安全性、可扩展性、用户友好度等。算法的重要性算法将不可行变为可行。算法是一种描述程序行为的语言。排序问题将一组数(A[1~n])按大小顺序(从小到大)排序。插入排序伪码:forj←2tondokey←A[
rye_whiskey
·
2020-09-12 13:07
算法导论公开课笔记
算法导论
知识点
1.Floyd算法讲解用来求任意点对之间的最短距离Floyd-Warshall算法不能解决带有“负权回路”的问题https://www.cnblogs.com/wangyuliang/p/9216365.html2.Bellman-Fordhttps://www.jianshu.com/p/b876fe9b2338Bellman-Ford还可以用来进行线性规划,它具有以下的性质Infact,Bel
ruanjianxueyuan113
·
2020-09-12 13:37
算法
算法
算法导论
(一)-------简述、复杂度
简述最近在学校的课程及作业还有导师的项目要学习,所以以后想着用晚上就抽空来写一篇博客吧,我想着自己把按照
算法导论
这本书来进行大致的讲解一些常用的算法等。
小远_H
·
2020-09-12 13:45
算法
“学习笔记”之《
算法导论
》----第二部分----排序和顺序统计量----第七章----快速排序
本人大四即将结束,于2018年12月18日购《
算法导论
》这本书,慢慢看,第一阶段先主要理解各个章节说的算法都是什么意思,书上的课后习题先不做,用得上什么算法我再详细学习。这是官方课后答案的链接。
Mr.Naruto
·
2020-09-12 13:37
算法导论
MIT
算法导论
——第一讲.Analysis of algorithm
学习笔记和心得来自网易MIT公开课
算法导论
IntroductiontoAlgorithms中CharlesE.Leiserson和ErikDemaine老师的讲解,以及网上一些大牛的博客。
纪年时雨
·
2020-09-12 13:30
algorithm
对于
算法导论
阅读的感想
对于
算法导论
的阅读排序对于
算法导论
的阅读排序选择排序和冒泡排序堆排序快速排序计数排序基数排序木桶排序选择排序和冒泡排序实际上就是暴力排序,一个是从多变少,一个是从少变多。
爱飞2015
·
2020-09-12 13:19
算法
【
算法导论
学习笔记】---选择算法
找到数组中某个特定大小顺序的数,比如第i小的数随机选择算法:RANDOMIZED-SELECT期望运行时间为:O[n]思想:借助快速排序的想法,将数组划分为两部分(比x大和比x小),不同的是我们只需要去关注一部分。快速选择算法:SELECT最坏运行时间:O[n]思想:中位数的中位数,将数组分为5组(实际上只要组数大于等于5都是可以的,若小于5,运行时间就不是线性的了)应用:我们可以将快速选择算法应
qingkong1994
·
2020-09-12 13:55
算法导论学习笔记
MIT
算法导论
-第五讲-线性时间排序
在比较排序算法中,在最坏情况下,都需要做Ω(nlgn)此比较。合并排序和堆排序以及随机快速排序平均情况和最坏情况下达到O(nlgn),因此合并排序和堆排序以及随机快速排序是渐进最优的。1.决策树的概念及如何用决策树确定排序算法时间的下界在比较排序算法中,用比较操作来确定输入序列《a1,a2,……,an》的元素间次序。决策树是一棵完全二叉树,比较排序可以被抽象视为决策树。在决策树中,节点表示为i:j
清文
·
2020-09-12 13:54
算法导论
麻省理工学院《
算法导论
》(MIT - Introduction to Algorithms)
关于课本的介绍如下:本书自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了各个层次读者的接受能力。各章内容自成体系,可作为独立单元学习。所有算法都用英文和伪码描述,使具备初步编程经验的人也可读懂。全书讲解通俗易懂,且不失深度和数学上的严谨性。第二版增加了新的章节,如算法作用、概率分
nancy_princess
·
2020-09-12 13:35
matlab
PR&Image
Processing
算法导论
梳理(一)
算法导论
这本书,断断续续看了很久也只看了三分之一左右。近来又忙于别的方面的事情,把这本大部头搁置了很久,于是决定写上几篇来帮助自己梳理回忆一下。
lzkmylz
·
2020-09-12 13:37
算法导论
MIT:
算法导论
——5.线性时间排序:计数排序、基数排序以及桶排序
注:教材《
算法导论
》第8章线性时间排序一、决策树模型分析排序算法下界O(nlgn)定理:在坏情况下,任何比较排序算法都需要做Ω(nlgn)次比较。
我与编程有个约定
·
2020-09-12 13:59
数据结构与算法
算法导论
散列表 11.1答案以及乘法散列法
今天是开通博客后第一次做
算法导论
习题呢。。。首先是
算法导论
散列表11.1的答案。
loiecarsers
·
2020-09-12 13:27
算法导论
算法导论
hash
散列表
数据
博客
MIT
算法导论
第二节笔记
本节主要讲了一些算法分析的内容4种渐近符号求解递归式的三种方法:(P38)1.代换法(通常可以)2.递归树方法(对所有都可以,但不严谨)3.主方法-主定理(只对特等的递归式有效,包含三种情况)
liyinchen808
·
2020-09-12 13:53
程序员之路
算法
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他