- 博客(43)
- 收藏
- 关注
原创 数据结构C++——贪婪算法
predecessor[i]=sourceVertex,//邻接于sourceVertex的顶点。一个复杂的工程通常可以分解成一组简单任务(活动)的集合,完成这些简单任务意味着整个工程的完成。对于给定的源顶点sourceVertex ,需找出从它到图中其他任意顶点(称为目的)的。而且,若j没有在表newReachableVertices中,则将。注:数据结构中的贪心算法只是大概讲思路,具体的实现等细节,请参考。predecessor[i]>0的顶点。对于所有邻接于顶点i的顶点j,,其可能取值为0或1。
2024-07-24 20:54:00
850
原创 数据结构C++——图
图G = (V,E)V 是顶点集. E是边集.顶点也叫作节点( nodes)和点(points).E中的每一条边连接V中两个不同的顶点。边也叫作弧(arcs)或连线(lines)。可以用(i,j)来表示一条边,其中i和j是E所连接的两个顶点。无向边(undirected edge): (i,j)和(j,i)是一样的。有向边(directed edge):(i,j)和(j,i)是不同的无向图(Undirected graph) :图中所有的边都是无向边 .有向图。
2024-07-24 20:15:20
756
原创 数据结构C++——搜索树(2) 平衡搜索树
DEF.AVL树:一种平衡树空二叉树是AVL树如果T是一颗非空的二叉树,TLTRT_L , T_RTLTR分别是其左、右子树,当T满足下列条件时,T是一颗AVL树:TLTRT_L , T_RTLTR是AVL树∣hL−hR∣≤1∣hL−hR∣≤1,h代表子树高度AVL搜索树平衡二叉搜索树、平衡二叉排序树既是二叉搜索树,又是AVL树带索引的AVL搜索既是带索引的二叉搜索树,又是AVL树。
2024-07-24 16:16:16
749
原创 数据结构C++——搜索树(1) 二叉搜索树
搜索树适合于描述字典的树型结构比跳表和散列表有更好、或类似的性能特别对于顺序访问或按排名访问,散列表实现时间性能差,使用搜索树实现会有更好的时间性能可能为空的二叉树一颗非空的二叉搜索树满足特征:每个元素都有一个关键字,且唯一根节点左子树的关键字小于根节点的关键字根节点右子树的关键字大于根节点的关键字根节点的左右子树也是二叉搜索树即:任何节点左子树的关键字小于该节点的关键字,右子树的关键字大于该节点的关键字二叉搜索树——二叉排序树有重复值的二叉搜索树任何节点左子树的关键字。
2024-07-24 14:31:46
633
原创 数据结构C++——优先队列
优先级队列0个或多个元素的集合每个元素都有一个优先级或值。与FIFO结构的队列不同,优先级队列中元素出队列的顺序由元素的优先级决定。从优先级队列中删除元素是根据优先级高或低的次序,而不是元素进入队列的次序.优先级队列中的元素可以有相同的优先级查找一个元素(top)插入一个新元素(push)删除一个元素(pop)两种最小优先级队列:“查找/删除” 操作用来“查找/删除”优先级最小的元素最大优先级队列:“查找/删除”操作用来“查找/删除”优先级最大的元素。
2024-07-23 20:22:16
955
原创 数据结构C++——二叉树和树
设完全二叉树中一元素的序号为i, 1≤i≤n。,存在两个不同的二叉树,经过中序遍历都能得到这个结果。但实际上,这两颗二叉树想要实际表达的算式并不相同。与我们希望得到的最为接近。(复制、删除、输出等)。:按照树的层级,从上到下、从左到右依次遍历。:可以看作是缺少了部分元素的完全二叉树。设二叉树中元素数目为n。(前缀和后缀表达式中不会存在歧义)的次序访问树中元素,在同一层中,比如:家庭关系、公司组织……在二叉树的遍历中,每个元素。得到的表达式分别称为其的。树(tree)t是一个。实现,层次遍历通常借助。
2024-07-23 18:31:57
1066
原创 数据结构C++——字典、跳表和散列
线性表: (p0, p1, p2, …, pn-1),表示,关键字从左到右。i 级链所包含的数对是i-1级链所有数对的子集。映射到散列表/哈希表(hash table)中的。0级链表: n 个数对(元素/记录)删除数对erase:类似于链表元素的删除。从最高级链表开始,在每一级链中搜索,遇到。多重字典:两个或多个数对有相同的关键字。个数对,散列表中的桶用一个链表来配置。插入insert:类似于链表的插入。——> 数对p在散列表中的。(元素/记录)所组成的集合。1级链表:½ n 个数对。
2024-07-23 17:03:30
691
原创 数据结构C++——队列
队列(queue)是一个线性表,其插入和删除操作分别在表的不同端进行。添加新元素的那一端被称为队尾删除元素的那一端被成为队首队列是一个先进先出( first-in-first-out, FIFO)的线性表。
2024-07-23 15:47:42
672
原创 数据结构C++——栈
DEF.栈(stack)是一个线性表,其插入(也称为添加)和删除操作都在表的同一端进行。其中允许插入和删除的一端被称为栈顶(top)另一端被称为栈底(bottom)栈是一个后进先出( LIFO (Last-In, First-Out) )表。
2024-07-22 21:03:53
848
原创 数据结构C++——矩阵【详】
m x n 矩阵:m行和n列的表M(i,j):矩阵M 中第i 行、第j 列的元素转置矩阵加矩阵乘使用二维数组描述矩阵:mapiji−1∗nj−1mapiji−1∗nj−1数组的0行和0列不用。
2024-07-22 19:51:38
1157
原创 2023-2024山东大学软件学院软件项目管理期末
19道都是书上原题,有一道我没见过(好像是我没做到…),但也不算难题目:合同一旦签署就具有法律效应,除非()A.一方不愿意履行B.一方没有能力为其承担的工作提供资金C.违反了所适用的法律D.有一方宣布其无效。
2024-06-18 16:56:14
199
原创 2023-2024山东大学软件学院web数据管理期末
都是PPT上的,这里列几个复习可能忽略掉的地方:word2vec是用来计算____和___(king-man+woman)爬虫模型使用___判重fastText是一个_____和_____工具,使用_____方法/概念。PLSA的全称是______。它通过文档-词项信息 p (w | d) 进行训练,得到______和________。其余的题都比较基础,一眼能知道答案(只要好好看PPT了的话.....)
2024-06-14 16:54:14
347
2
原创 简单题并不简单——相交链表
由于两个链表的长度不同,如果单独遍历每个链表,可能需要遍历很多遍才能找到交点或NULL。因此需要一个更简便的方法使得两个链表能够更快的定位到同一位置。,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。给你两个单链表的头节点。,函数返回结果后,链表必须。整个链式结构中不存在环。实际一点都不会...
2024-03-05 21:02:45
410
1
原创 数据结构C++—— 线性表与矩阵
线性表(linear list):它的每一个实例都是元素的有序e0e1en−1e0e1en−1,其中n 是有穷自然数。线性表 の 常见操作创建线性表撤销线性表判断是否为空确定长度根据索引查找元素根据元素确定索引根据索引插入、删除元素按某种顺序打印线性表元素……MijM(i,j)Mij:矩阵M中第i行,第j列的元素矩阵相加矩阵相乘矩阵转置。
2024-03-02 20:21:06
886
原创 数据结构C++——引言 & 时空复杂度
由此可见,当需要分析空间复杂性时,应该 (1) 确定实例特征;每次递归需要:a(4)、n(4)、返回地址(4) (字节),但可以确定某些部分的空间需求,这些部分依赖于所解决问题。共嵌套调用n+1次(从rSum(n)->rSum(0))n-1=(n-1)*n/2。——描述大型实例特征下,时间复杂性和空间复杂性的具体表现。设f(n)表示程序的时/空复杂性,一般为若干项之和。a,x,n,0,-1需要空间与n无关;交换次数:最好:0;最坏:(n-1)*n/2。移动次数: 3(n-1)
2024-02-27 21:05:07
842
原创 2023-2024山东大学软件学院人工智能导论
3. 宽度优先搜索的搜索树、画出结束时的open、closed表 15'2. PPT上归结的例子(证明:公司一定录用C) 15'4. 谈谈对人工神经网络的理解与看法 10'二、简答题 5 * 6' = 30'考试范围:《人工智能导论》1-8章。一、名词解释5 *4' = 20'1. 人工智能的发展阶段、特点。1. 可信度CF的计算 10'考试时间:2024/1/15。3. 粒子群算法的思想。2. 回溯算法的思想。
2024-01-15 19:26:27
496
2
原创 2023-2024山东大学软件学院人机交互技术
1. 设计一个双画显示技术,要求至少两种交互技术,从系统设计、交互技术、交互设备、具体实现方式、特定领域的潜在应用进行解释说明。2. 简述自己的课程实验内容,从硬件环境、软件环境等方面;设计一个测试方案,从测试目的、测试假设、测试方案等步骤进行说明。4. 真实行走中,设计一种方法,在触碰到物理边界时,能够返回实际物理空间内部(10')2. 给了两张图,分析两种饮水机设计,从产品功能、界面设计、用户体验等方面(10')2.图形用户界面的三个基本思想?1. 立体眼镜的类型?选一种说明原理(10')
2024-01-02 17:29:26
657
原创 编译原理C3
DEF.d1→r1d1→r1d2→r2d2→r2dn→rndn→rn其中,每个did_idi都是一个新符号,他们不在字母表Σ\SigmaΣ中,而且各不相同每个rir_iri是字母表Σ∪d1d2di−1Σ∪d1d2...di−1上的正则表达式即:给一些RE命名,并在之后的RE中像使用字母表中的符号一样使用这些名字。
2023-09-27 17:00:31
100
原创 编译原理C2
GVTVNPSGVTVNPS其中,VTV_TVT为终结符集合(终结符——文法所定义的语言的基本符号,有时也称token)e.g.VTappleboyeatlittleVTappleboyeatlittleVNV_NVN为非终结符集合(非终结符——表示语法成分的符号,有时也称“语法变量”)e.g.VN句子名词短语动词短语名词。
2023-09-19 18:02:03
106
原创 编译原理C1
机器语言:可以被计算机直接理解;与人类表达习惯相差很远;难记忆;难编写、难阅读;易写错汇编语言:引入助记符;依赖于特定机器,对于非计算机专业人员使用受限制;编写效率较低高级语言:类似于数学定义或自然语言的简介形式;接近人类表达习惯;不依赖于特定机器,编写效率高。
2023-09-18 20:40:51
70
原创 OS-4-11总结
进程中的一个实体、CPU 调度和分派的基本单位,与同进程内的其它线程共享进程所拥有的资源:线程必须在某个进程内执行,它所需的其它资源,如代码段、数据段、打开的文件和信号等,都由它所属进程拥有。只拥有运行所必须的资源: 如 PC、寄存器;优点:并发程度高、响应度高;易于调度,开销小;资源共享;多处理器体系结构的利用。一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到资源,这种现象称为进程死锁,这一组进程就称为死锁进程。
2023-06-21 19:59:02
552
原创 设计模式解析及优缺点
工厂方法模式(将工厂和产品进行抽象;单一产品)抽象工厂(将工厂和产品进行抽象;产品族)单例模式(一个类只有一个实例,并提供全局访问点)与名字对应,这三种模式的重点在于如何创建对象。
2023-06-21 19:15:46
90
原创 10-设计模式与设计原则
一个目标可以有任意多个观察者对象,一旦目标的状态发生了改变,所有注册的观察者都会得到通知,然后各个观察者会对通知作出相应的响应,执行相应的业务功能处理,并使自己的状态和目标对象的状态保持一致。的,可以通过注册和取消注册来控制观察者,因而可以在程序运行期间,通过动态地控制观察者,来变相地实现添加和删除某些功能处理,这些功能就是观察者在update的时候执行的功能。被创建实例的类型可以是接口、抽象类、具体类。当修改目标对象的状态时,会触发相应的通知,然后会循环调用所有注册的观察者对象的相应方法,相当于。
2023-06-18 11:35:09
55
原创 07&08&09-软件复用、迪米特法则、UML
最常见的两种方式:=组合提供了一个利用已存在的软件组件来创建新的应用程序的办法。是Hasa关系组合中类的关系是在时才确定的,即在对象没有创建运行前,整体类是不会知道自己将持有特定借口下的哪个实现类。组合有助于保持每个类被封装,并被集中在单个任务上。是大型系统软件实现即插即用的首选方法。继承不多讲了,参考06-多态。继承允许我们根据自己的实现来覆盖重写父类的实现细节,父类的实现对于子类是可见的。称为。组合的整体类和部分类之间不会去关心各自的实现细节,即它们之间的细节是不可见的,称为。
2023-06-18 08:00:50
57
原创 01&02面向对象思想与编程
现实问题=>面向对象问题:物质=>对象,意识=>类。其中属性和操作是其两大特性,属性是对象静态特征的描述,操作是动态特征的描述,而属性一般只能通过操作来改变。操作也叫成方法或服务,描述了对象动态执行的功能。通过,可以为其他对象所使用。
2023-06-16 12:05:01
52
原创 操作系统第三部分内存管理
仅把作业的一部分装入内存即可执行,具有请求调入功能和置换功能,能在逻辑上对内存空间加以扩充的一种存储器系统。进程没有“足够”的帧,需要进行页调度,而调度出去的页再次被需要,所以又很快被调回来,导致进程用于页调度的时间多于执行的时间。系统抖动的原因进程没有“足够”的帧,它会不断地进行页调度,导致 CPU 的利用率不高,而系统检测到 CPU 利用率不高就会加入新的进程执行,新的进程也需要帧,所以它也会不断地进行页调度从而拉低 CPU 的利用率,形成一个恶性循环。
2023-06-08 18:25:16
683
原创 操作系统第一部分概述
计算机系统的层次结构:操作系统:控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机地工作和资源分配;提供给用户和其他软件方便的接口和环境;是计算机系统中最基本的系统软件。===> 1、OS是系统资源的管理者;2、向上层提供方便易用的服务。
2023-06-06 10:41:41
176
1
原创 算法导论证明部分
算法:一个定义良好的计算过程,它以某个值或一组值为输入,并产生某个值或一组值为输出计算问题一般指明输入和输出的关系。问题的实例由计算该问题的解决方案所需的输入组成如果一个算法在每个输入实例中都得到正确的输出,那么它就是正确的。我们说。设计算法(以插入排序为例):(1)问题的形式化(2)算法(伪代码、设计)(3)分析· 正确性· 效率涉及了一个计算模型–图灵机DTM——确定性图灵机作用:确定一个整数的奇偶性机器实现过程:· 配置:sy—偶数;sn—奇数。
2023-05-28 15:26:40
415
3
原创 算法导论24-26、34-35章
问题描述:给定带权重的有向图G=(V,E)和权重函数w,能够将每条边映射到实数值得权重上。给定一个源点,希望求出它到所有节点的最小权重路径。定义该路径上所有边的权重之和定义最短路径问题具有即最短路径的也是最短路径本质上还是的思想1.Bellman-Ford算法允许图中有负权环;并且能够检测负权回路的存在2.Dijkstra算法要求边非负。1、最短路径不能包含权重为负值的环——否则最短路径可能会导致-∞。
2023-05-27 16:21:35
621
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人