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
算法导论
6:摊还分析,显式与隐式
个操作的序列最坏情况下的花费的总时间为T(n),因此,在最坏情况下,每个操作的平均代价(摊还代价)为T(n)/n举了例子来形容这个概念1)栈操作PUSH(s,x)POP(s)MULTIPOP(s,k)三个函数2)k位二进制计数器递增(
算法导论
书中说的比较晦涩
danxutj
·
2023-11-12 16:41
算法
FPGA
算法
夯实基础才是硬道理--拍案叫绝的计算机经典
《
算法导论
》-ThomasH.Cormen,CharlesE.Leiserson,RonaldL.Rivest,CliffordStein4.
WY_记录
·
2023-11-08 05:12
活动
其他杂项
经验分享
左孩子右兄弟表示法的任意有根树的遍历
算法导论
p.24810.4-4题目描述:对于一个含n个结点的任意有根树,写出一个O(n)时间的过程,输出其所有关键字,该树以左孩子右兄弟表示法存储。
leekari
·
2023-11-08 05:38
每日算法学习
数据结构
python
任意有根树的左孩子右兄弟表示法存储
算法导论
:10.4-4对一个含n个结点的任意有根树,写出一个O(n)时间的过程,输出其所有关键字。该树以左孩子或兄弟表示法存储。
nrj
·
2023-11-08 05:07
算法导论
算法导论
有根树
左孩子右兄弟
读完大呼过瘾的计算机书籍
目录一导论二《
算法导论
》三《深入理解计算机系统》四《代码大全》五《设计模式:可复用面向对象软件的基础》六《人月神话》七总结一导论作为一个计算机专业的爱好者,我发现计算机科学和技术领域充满了无穷无尽的可能性
杰克尼
·
2023-11-07 18:18
算法
数据结构
c语言
开发语言
红黑树——《
算法导论
》学习心得(十四)
介绍另一种平衡二叉树:红黑树(RedBlackTree),红黑树由RudolfBayer于1972年发明,当时被称为平衡二叉B树(symmetricbinaryB-trees),1978年被LeonidasJ.Guibas和RobertSedgewick改成一个比较摩登的名字:红黑树。红黑树和之前所讲的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能
小小程序猿_
·
2023-11-06 14:30
转载
数据结构
红黑树
Linux内核——红黑树的原理和算法详细介绍(内含代码演示)
本文参考了《
算法导论
》中红黑树相关知识,加之自己的理解,然后以图文的形式对红黑树进行说明。本文的主要内容包括:红黑树的特性,红黑树的时间复杂度和它的证明,红黑树的左旋、右旋、插入、删除等操作。
简说Linux内核
·
2023-11-06 14:57
算法
java
编程语言
数据结构
红黑树
算法导论
——红黑树
红黑树是二叉搜索树的一种特例,它对每个节点增加了一个颜色的属性,通过增加以下的条件使得这颗二叉树更加平衡:1.每个节点或是红色的,或是黑色的。2.根节点是黑色的。3.每个叶节点是黑色的。4.如果一个节点是红色的,那么它的两个子节点都是黑色的。5.对每个节点,从该节点到其所有后代节点的简单路径上,均包含相同数目的黑色节点。红黑树的插入和删除如果按照二叉树的处理,那么它的性质可能被破坏,那么这个时候需
WaterWin
·
2023-11-06 14:55
算法
红黑树
动态规划笔记+经典习题十道
《
算法导论
》笔记(1)动态规划与贪心
算法导论
动态规划通常应用于最优化问题,即要做出一组选择以达到一个最优解。在做选择的同时,经常出现同样形式的子问题。
猴勒
·
2023-11-05 08:26
动态规划
算法
笔记
【
算法导论
】摊还分析
目录一、摊还分析简介二、分析的两个问题1.栈操作2.二进制计数器递增三、分析方法1.聚合分析1.1栈操作1.2二进制计数递增2.核算法2.1栈操作2.2二进制计数器递增3.势能法3.1栈操作3.2二进制计数器递增一、摊还分析简介 在摊还分析中,我们求数据结构的一个序列操作中所执行的所有操作的平均时间,来评价操作的代价。这样,我们就可以说明一个操作的平均代价是很低的,即使序列中某个单一操作的代价很
zjx...
·
2023-11-04 06:58
算法导论
算法
开发语言
c++
一个谷歌程序员的算法学习之路
关于严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如
算法导论
指的实际上是数据结构和
算法导论
),所以我认为本文题目是合理的。
睹物思理
·
2023-11-03 08:29
ComputerScience
算法
算法学习之路
我的算法学习之路关于严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如
算法导论
指的实际上是数据结构和
算法导论
),所以我认为本文题目是合理的
什么啊什么Q
·
2023-11-03 08:26
算法
算法
书籍
校招java后端应该掌握到什么程度?
相信做到下面这些,无论哪个厂都会考虑要你:1.算法基础,大厂的笔试题就没有,别的不说,算法必须玩儿得溜溜的,
算法导论
还是要看看的,ACM的题或者是
Lalalajtyy
·
2023-10-31 22:56
java
c++
jar
时间复杂度 O(n) 级排序算法
《
算法导论
》定理8.1:在最坏情况下,任何比较排序算法都需要做O(nlogn)次比较。《
算法导论
》推论8.2:堆排序和归并排序都是渐进最优的比较排序算法。
ZEKEGU1997
·
2023-10-31 20:02
数据结构
数据结构
算法
leetcode
c#
排序算法
leetcode和牛客网刷题
在上学时学过《数据结构和算法》这门课,当时学习了数组、链表、哈希表、二叉树、图等数据结构,还有排序算法、二分查找、最短路径算法、关键路径等,当时记得还有ACM比赛,还有那部很烧脑筋的《
算法导论
》。
雪域迷影
·
2023-10-31 17:38
文心一言 VS 讯飞星火 VS chatgpt (123)--
算法导论
10.4 4题
四、用go语言,对于一个含n个结点的任意有根树,写出一个O(n)时间的过程,输出其所有关键字该树以左孩子右兄弟表示法存储。文心一言:在计算机科学中,左孩子右兄弟表示法是一种用于表示树状结构的方法,其中每个节点都有两个指针:一个指向其第一个孩子(左孩子),另一个指向其下一个兄弟(右兄弟)。对于一个有根树,我们可以使用一个数组来表示它,其中每个索引对应一个节点,每个节点包含两个指针,一个指向其左孩子,
福大大架构师每日一题
·
2023-10-29 22:33
文心一言vschatgpt
算法
chatgpt
golang
算法通关村第十七关——贪心其实很简单(青铜)
《
算法导论
》给出了最明确的答案——贪心算法不能保证一定能得到最优解,但是对很多问题确实可以得到最优解。既然不能保证,我怎么知道
XiaoZhi-paperfly
·
2023-10-29 10:43
数据结构
算法
算法
java
数据结构
笔记
作为c++零基础的新手,简单地写一个学习计划以及打卡
1:编程(数据结构与算法)学习计划第1周读完《
算法导论
》第2章,学习插入排序、归并排序和堆排序,并进行相关的练习。学习数据结构中的线性表,包括顺序表、链表和栈,完成相应的练习。
立志成为AI大佬の大梦想家
·
2023-10-27 17:32
学习打卡
学习
由合并排序算法谈如何理解递归
今天早上突然来了兴致,拿起了尘封多月的《
算法导论
》翻看起来,正好看到合并排序一章,看完介绍后自己动手编程实现,经过简单的调试纠错后程序正确执行,但是细细一品其中用到的递归知识,感觉糊里糊涂,有种只知表面不知根源的感觉
浣熊
·
2023-10-26 08:04
算法
算法
merge
system
任务
编程
工作
算法导论
(第三版)CH15-动态规划习题15-10投资策略规划题目实现详解(附代码)
在
算法导论
(第三版)第15章动态规划最后的习题中,有一道15-10投资策略规划的题目,网上相关的讲解不是很多,或者算法的时间复杂度也较高,因此将具体实现分享如下。
Codevalley
·
2023-10-25 03:54
数据结构与算法
Dart语言学习
算法
动态规划
数据结构
程序人生
数论----质数的求解(C/C++)
学习数论的意义
算法导论
说:“数论曾经被视为一种虽然优美但却没什么用处的纯数学学科。如今,数论算法已经得到了广泛的使用。这很大程度上要归功于人们发明了基于大素数的加密方法。
姬如祎
·
2023-10-24 17:52
数据结构与算法
c语言
c++
算法
leetcode
文心一言 VS 讯飞星火 VS chatgpt (118)--
算法导论
10.3 3题
三、用go语言,在ALLOCATE-OBJECT和FREE-OBJECT过程的实现中,为什么不需要设置或重置对象的prev属性呢?文心一言:在Go语言中,ALLOCATE-OBJECT和FREE-OBJECT过程的实现通常不需要显式地设置或重置对象的prev属性。这是因为在Go语言的内存管理中,对象(或更具体地说,变量)的生命周期通常由垃圾回收器(GarbageCollector)来管理。Go语言
福大大架构师每日一题
·
2023-10-23 01:52
文心一言vschatgpt
算法
chatgpt
golang
文心一言 VS 讯飞星火 VS chatgpt (114)--
算法导论
10.2 7题
七、用go语言,给出一个O(n)时间的非递归过程,实现对一个含n个元素的单链表的逆转。要求除存储链表本身所需的空间外,该过程只能使用固定大小的存储空间。文心一言:在Go语言中,你可以使用迭代方法来反转一个单链表。这种方法只需要O(1)的额外空间。首先,我们需要定义链表的数据结构:typeListNodestruct{ValintNext*ListNode}然后,我们可以使用以下代码来反转一个链表:
福大大架构师每日一题
·
2023-10-16 22:18
文心一言vschatgpt
算法
chatgpt
golang
树的直径 证明
算法导论
树的直径的定义:树中任意两点距离的最大值树的直径的求法:从树的任意一点y,通过BFS到达终点x;则x必为直径的一个端点。再从x通过BFS到达终点z。z必为直径的另一个端点。则从x经过BFS到z的路径为树的其中一条直径。证明:思路:首先利用反证法证明x为直径的一个端点,则同理z也是直径的一个端点,从而xz为树的直径。证:反证法。假设x不为直径的一个端点。则对于直径uv,u与v与x互异,且dis(u,
迷麟Milin
·
2023-10-16 06:42
计算机基础知识
computer
science
and
tech
树
直径
算法导论
最大子数组问题的几种解法
分治算法最近看到《
算法导论
》的分治策略一节,看到的一个题目可以优化引申出来多种解法,同时也可以帮助理解分治策略的化整为零和动态规划的动态转移方程的思维。
咔叽咔叽_
·
2023-10-15 17:55
文心一言 VS 讯飞星火 VS chatgpt (111)--
算法导论
10.2 2题
二、用go语言,用一个单链表L实现一个栈。要求操作PUSH和POP的运行时间仍为O(1)。文心一言:在Go语言中,我们可以用结构体来实现一个单链表,然后再用栈的相关操作。以下是一个可能的实现方式:packagemainimport"fmt"//定义一个Node结构体,作为链表的节点typeNodestruct{ValueintNext*Node}//定义一个LinkedList结构体,作为单链表t
福大大架构师每日一题
·
2023-10-12 19:47
文心一言vschatgpt
算法
chatgpt
golang
程序员书籍推荐
比第二更适合零基础第四:《Java编程思想》第五:《Java核心技术》卷1卷2第六:《Python核心编程》第七:《Python编程从入门到实战》第八:《Go语言实战》or《GoInAction》第九:《
算法导论
Marlon1993
·
2023-10-10 19:42
二叉搜索树详解
主要参考《
算法导论
》(中文第3版)中有关二叉搜索树的相关介绍说明。对于每一种基本操作,都至
拂晓123
·
2023-10-10 06:56
算法基础
二叉搜索树
二叉搜索树及其操作详解
文章目录二叉搜索树的定义二叉搜索树的结构特点二叉搜索树查询查找最大关键字元素和最小关键字元素后继和前驱二叉搜索树插入和删除插入删除参考《
算法导论
(第三版)》第12章。
W24-
·
2023-10-10 06:52
数据结构
数据结构
二叉搜索树
文心一言 VS 讯飞星火 VS chatgpt (107)--
算法导论
10.1 5题
五、用go语言,栈插入和删除元素只能在同一端进行,队列的插入操作和删除操作分别在两端进行,与它们不同的,有一种双端队列(deque),其插入和删除操作都可以在两端进行。写出4个时间均为O(1)的过程,分别实现在双端队列的两端插入和删除元素的操作,该队列是用一个数组实现的。文心一言:在Go语言中,我们可以使用切片(slice)来实现双端队列(deque)。这是因为切片可以在O(1)时间内进行头部和尾
福大大架构师每日一题
·
2023-10-07 21:15
文心一言vschatgpt
算法
chatgpt
golang
【
算法导论
】分治策略求最大子数组问题分析、伪代码及C代码实现
最大子数组问题寻找A的和最大的非空连续子数组,我们称这样的连续子数组为最大子数组。如下所示,A[1..16]的最大子数组为A[8..11],其和为43,是A的所有子数组中和最大的。注意:只有当数组中包含负数时,最大子数组问题才有意义。如果所有数组元素都是非负数,子数组问题没有任何难度,因为整个数组的和肯定最大。使用分治策略的求解方法我们要寻找子数组A[low..high]的最大子数组。使用分治技术
wellnw
·
2023-10-06 12:54
数据结构
算法
最大子数组问题
算法导论
4.1最大子数组与分治算法
4.1求最大子数组问题根据这17天的股票价格分析何时买进,何时买进、何时卖出可达收益最大化?1.暴力求解通过对(n2)\binom{n}{2}(2n)个日期组合处理来求解,时间复杂度为O(n)2.变换问题从Price的角度(值)变为Change(值的变化量),问题转化为寻找“Change数组”的和最大非空连续子数组。3.分治方法(分解、解决、合并)分治算法中,我们递归的求解一个问题,有三个步骤a.
Zarathustra如是说
·
2023-10-06 12:54
算法导论
算法
leetcode
数据结构
算法导论
----最大子数组问题(分治算法)
在分治策略中,我们要递归地求解一个问题,每层递归包含三个步骤:1.分解(Divide)将问题划分为一些子问题,子问题的形式与原问题一样,只是规模更小2.解决(Conquer)递归地求解出子问题。如果子问题的规模足够小,则停止递归,直接求解3.合并(Combine)步骤将子问题的解组合成原问题的解当子问题足够大,需要递归求解时,我们称之为递归情况(rescursivecase)。当子问题变得足够小,
粉面彩蛋
·
2023-10-06 12:53
算法
算法导论
笔记:桶排序 线性时间完成
P1128.4桶排序总能线性时间完成桶排序概念:桶排序(BucketSort)又称箱排序,是一种比较常用的排序算法。其算法原理是将数组分到有限数量的桶里,再对每个桶分别排好序(可以是递归使用桶排序,也可以是使用其他排序算法将每个桶分别排好序),最后一次将每个桶中排好序的数输出。假设目前有包含100,200,300,400,500,600共6个数字的一个随机顺序的集合。我们需要对这个集合进行桶排序。
danxutj
·
2023-10-06 05:30
算法
算法
笔记
数据结构
文心一言 VS 讯飞星火 VS chatgpt (106)--
算法导论
10.1 4题
四、用go语言,重写ENQUEUE和DEQUEUE的代码,使之能处理队列的下溢和上溢。文心一言:在Go语言中,我们可以使用切片来实现队列。下面是如何实现ENQUEUE和DEQUEUE操作,同时处理队列的下溢和上溢的情况:packagemainimport"fmt"typeQueuestruct{elements[]interface{}}//创建一个新的队列funcNewQueue()*Queue
福大大架构师每日一题
·
2023-10-06 04:04
文心一言vschatgpt
算法
chatgpt
golang
【
算法导论
】中位数和顺序统计量
目录1.最小值和最大值1.1寻找最大值或最小值1.2同时寻找最大值与最小值2.期望为线性时间的选择算法2.1解决的问题2.2解决的办法2.3伪代码2.4RANDOMIZED-SELECT函数运行过程2.5算法时间复杂度的分析2.5.1最坏运行时间2.5.2期望运行时间3.最坏为线性时间的选择算法3.1算法思路3.2算法实现3.2.1PARTITION函数3.2.2SELECT函数3.2.3头文件3
zjx...
·
2023-10-05 08:11
算法导论
算法
【
算法导论
】线性时间排序(计数排序、基数排序、桶排序)
引言: 在排序的最终结果中,各元素的次序依赖于它们之间的比较,我们把这类排序算法称为比较排序,对于包含n个元素的输入序列来说,任何比较排序在最坏情况下都要经过Ω(nlgn)\Omega(nlgn)Ω(nlgn)次比较,下面将讨论三种线性时间复杂度的排序算法。1.排序算法的下界 比较排序可以被抽象为一棵决策树,以下是作用于三个元素时的比较排序决策树: 在决策树中,,每个内部节点都以i:ji:j
zjx...
·
2023-10-04 17:08
算法导论
算法
文心一言 VS 讯飞星火 VS chatgpt (105)--
算法导论
10.1 3题
三、用go语言,仿照图10-2,画图表示依次执行操作ENQUEUE(Q,4)、ENQUEUE(Q,1)、ENQUEUE(Q,3)、DEQUEUE(Q)、ENQUEUE(Q,8)和DEQUEUE(Q)每一步的结果,队列初始为空,存储于数组Q[1…6]中。文心一言:在这个问题中,我们尝试使用Go语言来模拟队列的操作,并且展示每一步的结果。首先,我们需要定义一个队列的数据结构,并实现ENQUEUE和DE
福大大架构师每日一题
·
2023-10-03 18:15
文心一言vschatgpt
算法
golang
chatgpt
文心一言 VS 讯飞星火 VS chatgpt (103)--
算法导论
10.1 1题
一、用go语言,仿照图10-1,画图表示依次执行操作PUSH(S,4)、PUSH(S,1)、PUSH(S,3)、POP(S)、PUSH(S,8)和POP(S)每一步的结果,栈S初始为空,存储于数组S[1…6]中。文心一言:图10-1展示了在执行一系列栈操作后栈的状态。我会用文字描述来模仿这个图,因为目前我无法直接绘制图片。栈S初始为空,我们将使用数组S[1…6]来表示栈,其中数组的底部(S[1])
福大大架构师每日一题
·
2023-10-02 20:05
文心一言vschatgpt
算法
golang
chatgpt
算法导论
【字符串匹配】—朴素算法、Rabin-Karp、有限自动机、KMP
算法导论
【字符串匹配】—朴素算法、RabinKarp、有限自动机、KMP朴素字符串匹配算法Rabin-Karp算法有限自动机KMP算法朴素字符串匹配算法预处理时间:0匹配时间:O((n-m+1)m)Rabin-Karp
之墨_
·
2023-10-01 22:46
笔记
算法
算法
字符串匹配
算法导论
第三版 第15章习题答案
2020/11/18:初稿,增加Python代码实现,修订参考文献部分错误(如15.1的第4题)参考文献:https://walkccc.github.io/CLRS/Chap15/https://cs.stackexchange.com/questions/118451/why-this-greedy-algorithm-fails-in-rod-cutting-problemhttps://l
时时处处皆修行
·
2023-10-01 12:30
Algorithm
python
算法导论
数据结构 图 并查集 遍历方法 最短路径算法 最小生成树算法 简易代码实现
BellmanFord算法FloydWarshall算法全部代码链接前言图是真的难,即使这些我都学过一遍,再看还是要顺一下过程;说明方式按照概念->实现思想->代码逻辑—>代码的方式进行;图片多来自于《
算法导论
梦 梦见木
·
2023-10-01 07:42
算法
数据结构
图
并查集
【
算法导论
】快速排序
文章目录1.快速排序的描述1.1基本描述1.2PARTITOION函数1.3快速排序C++完整代码2.快速排序的性能2.1最坏时间复杂度2.2平均时间复杂度1.快速排序的描述1.1基本描述 快速排序是一种时间复杂度为O(n^2)的排序算法。虽然最坏情况时间复杂度很差,但他的平均性能却很好,它的期望时间复杂度是O(nlgn)而且O(nlgn)中隐含的常数因子很小大约是1.44左右。 快速排序与归
zjx...
·
2023-09-30 16:15
算法导论
算法
排序算法
文心一言 VS 讯飞星火 VS chatgpt (102)--
算法导论
9.3 8题
八、用go语言,设X[1…n]和Y[1…n]为两个数组,每个都包含n个有序的元素。请设计一个O(lgn)时间的算法来找出数组X和Y中所有2n个元素的中位数。文心一言:要在O(lgn)时间内找出两个有序数组X和Y中所有元素的中位数,可以使用二分查找算法。以下是用Go语言实现的算法:packagemainimport("fmt""math")funcfindMedianSortedArrays(num
福大大架构师每日一题
·
2023-09-29 07:41
文心一言vschatgpt
算法
人工智能
chatgpt
golang
DL笔记
刷代码:LeetCode,github,kaggle,learningpythonhardway,书,微信python基础(hardway→python算法书(
算法导论
-难,看不懂再看算法第四版-易)→
吴成助
·
2023-09-29 00:40
2021-12-01快排
算法证明算法证明使用
算法导论
里的循环不变式方法快排模板(以j为分界)快排属于分治算法,分治算法都有三步:1.分成子问题2.递归处理子问题3.子问题合并```voidquick_sort(intq[],intl
Chooper_1
·
2023-09-27 08:24
半桥与全桥的优缺点
回-复:【电赛】即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、
算法导论
嵌入式基地
·
2023-09-24 00:09
电子设计大赛
理论知识
嵌入式
电赛
模电
随机快速排序和第k大数
若需要了解快排的讨论可以看这篇文章简单分治策略
算法导论
中也有快速排序的章节,以前没有以为自己知道了,但是最近看MIT的
算法导论
公开课时,把快排又看了
黄焖鸡要特辣
·
2023-09-23 21:42
笔记
基础算法
算法
排序算法
c++
文心一言 VS 讯飞星火 VS chatgpt (98)--
算法导论
9.3 4题
四、用go语言,对一个包含n个元素的集合,假设一个算法只使用比较来确定第i小的元素,证明:无需额外的比较操作,它也能找到第i-1小的元素和第n-i大的元素。文心一言:在这个问题中,我们要使用一个称为"QuickSelect"的算法,这是一个用于在未排序的列表中查找第k小元素的算法。该算法基于"QuickSort",但它只处理足够的元素以找到第k小的元素,而不是完全排序列表。首先,假设我们已经找到了
福大大架构师每日一题
·
2023-09-23 17:22
文心一言vschatgpt
算法
chatgpt
golang
文心一言 VS 讯飞星火 VS chatgpt (71)--
算法导论
7.1 1题
题解|#斐波那契数列#classSolution:defFibonacci(self,n:int)->int:tmp1=1题解|#二叉树的前序遍历#importjava.util.*;/**publicclassTreeNode{*intval=0;*TreeNodele题解|#二叉树的中序遍历#importjava.util.*;/**publicclassTreeNode{*intval=0;
Buoluochuixue
·
2023-09-23 10:28
java
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他