- 博客(53)
- 收藏
- 关注
原创 随机算法实践
在国际象棋中,在n×n格的棋盘上放置彼此不受攻击的n个皇后,求其摆法。拉斯维加斯算法 :能够显著地改进算法的有效性,甚至对于没有有效确定性算法的问题,也可以得到满意的结果。python实现,在前k-1个皇后已经摆好的情况下,去验证第k个的检验函数。#注意:随机算法每次的结果可能不一样,即使写对了,也要多测试几遍才行哦!根据提示,在右侧编辑器补充代码,利用拉斯维加斯算法求n后问题。为了完成本关任务,你需要掌握:random函数的调用方法。为了完成本关任务,你需要掌握:random的产生方法。
2024-12-17 12:03:12
442
原创 分支限界法实践
在python语言中,可以使用列表list实现优先队列,实际上就的堆的构造和元素删除操作,由于从索引1开始给堆元素编序号时,H[i]和H[2i]、H[2i+1]满足堆的独有特性,在用python构造堆时,可以在索引0处插入一个不使用的元素,使得堆实际从索引1开始。优先队列则不需要,因为它不是严格按每一层节点进行遍历的,由于它的权重特性,当能够到达n+1层时,就能返回所求的解。根据提示,在右侧编辑器补充代码,实现优先队列式(堆)的增加和删除操作。根据提示,在右侧编辑器补充代码,实现队列式的增加和删除操作。
2024-12-17 12:01:11
597
原创 算法与竞赛(第12章) - 计数基础
性质三:C(n,k)+C(n,k+1)=C(n+1,k+1),这是组合计数的递推公式,常用于预处理。这两种办法是不重复无遗漏的,通过加法原理即可得到C(n+1,k+1)=C(n,k)+C(n,k+1)。例如盒子里有3个球,选出其中2个球排成一列,共6种排列方案:(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)。性质二:C(n,k)=C(n,n−k),从n个里面选k个的方案种数等于选n−k个方案种数,因为选了k个以后剩下的数恰好有n−k个,因此选k个和选n−k个的方案一一对应;
2024-12-17 11:58:00
1051
原创 实验1_最大子列和
对于一群人我们不知道谁最厉害,所以我们准备一个擂台,并挑选第一个人为擂主(max),擂台下的人不断的(循环)来挑战擂主,如果赢了那挑战者就是擂主,之前的擂主就下台了,直到没有挑战者了,那最后一个擂主就是最厉害的那个了。对于一群人我们不知道谁最厉害,所以我们准备一个擂台,并挑选第一个人为擂主(max),擂台下的人不断的(循环)来挑战擂主,如果赢了那挑战者就是擂主,之前的擂主就下台了,直到没有挑战者了,那最后一个擂主就是最厉害的那个了。, an} , 求函数 f(i, j) = max( 0, ∑。
2024-11-21 11:25:43
1064
原创 算法设计与分析:回溯法算法思想的应用
递归,t=t+1=2,数字0,2,4,6,8与a[1]所组合的整数a[1,2]是能被t=2整除的,设置当前的数字为a[t=2]=0;其中,参数数组a记录满足条件的整除数(整除数长度n超过int64位存储范围,所以用整型数组模拟存储),参数t(初始为1)表示当前整除数长度(t
2024-11-14 10:49:19
720
原创 实验八 回溯法
本关任务:在n×n格的棋盘上放置彼此不受攻击的 n 个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。本关任务:在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。本关任务:把从 1 到 n 这 n 个数摆成一个环,要求相邻的两个数的和是一个素数。请在右侧编辑器Begin-End处补充代码,完成本关任务,输出格式请参考测试集。下图是一个 8 个皇后的例子,8 个皇后彼此不受攻击。测试输入:4(皇后的数目)
2024-11-14 10:48:15
614
原创 算法设计与分析:动态规划算法思想的应用
设定n个整数序列为数组arr[0,1,..,n−1]。为了构造问题的最优解,再定义一个整型数组id[0,1,..,n−1],其中第i项(id[i])表示数组arr[i,i+1,..,n−1]形成的序列的最长非降子序列中,大于或等于arr[i]的下一个整数(arr[id[i]])在数组arr中的下标。根据上述最优解转移等式,首先计算的是数组子序列arr[n−2,n−1]的最优解,再然后计算数组子序列arr[n−3,n−2,n−1]的最优解,以此类推,直到计算出数组序列arr[0,1,..,n−1]的最优解。
2024-11-14 10:43:23
686
原创 动态规划算法实践
任务描述本关任务:编写一个程序能计算得出下面要求的最大值。小蓝在一个 n x m的方格图中玩游戏,从左上角移动到右下角移动过程中,最多可以收集到多少分(正值最大)(限制条件:每次只能右移或者下移,且移动的格子数量不超过3 )。相关知识输入的格式如下:3 5第一行表示方格的长与宽格子数 n m,1≤n,m≤100;从第二行开始是每个格子中的数值 -10000≤权值≤10000。程序中将输入字符信息转换成数值类型的方法动态规划数组赋初值的方法编程要求。
2024-11-14 10:41:59
1254
原创 Python--进程和线程
操作系统在切换进程或者线程时也是一样的,它需要先保存当前执行的现场环境(CPU 寄存器状态、内存页等),然后,把新任务的执行环境准备好(恢复上次的寄存器状态,切换内存页等),才能开始执行。所以,要最高效地利用 CPU,计算密集型任务同时进行的数量,应当等于 CPU 的核心数。假设你打算切换到多任务模型,可以先做 1 分钟语文,再切换到数学作业,做 1 分钟,再切换到英语,以此类推,只要切换速度足够快,这种方式就和单核 CPU 执行多任务是一样的了,以幼儿园小朋友的眼光来看,你就正在同时写 5 科作业。
2024-11-14 10:36:19
913
原创 Python 迭代器与生成器
可以看到直到程序运行到print(next(g))时,Fun1函数才真正开始执行,第一条next使函数从语句1运行到了语句2,第二条next使函数从语句3运行到了语句4,就像函数发生了暂停,下一次调用时就从暂停的位置继续运行。每组测试有4个数据输入,代表start,stop,step,n,其中start,stop,step为任意整数,n大于等于0。比如这个例子中的ClassA就是一个可迭代对象,因为它实现了__iter__函数,而这个函数返回的是成员变量data的迭代器。
2024-11-14 10:35:52
933
原创 Python 计算思维训练——文件操作与异常处理
该段程序表示:先输入两个整数a和b,执行try代码块中的内容,计算整数a和b相除的结果,并将计算结果保存在变量answer中,如果b为 0 ,则try代码块中运行出现错误,程序执行except代码块中的内容,输出提醒信息We can't divide by zero!函数open()中的参数'test.txt'就是要打开的文件。try-except-else代码块的原理大致如下:先运行try代码块中的程序内容,如果运行出错则执行except代码块中的程序内容,如果运行正确则执行else代码块中的程序内容。
2024-11-14 10:33:11
614
原创 Python 正则表达式
注:match()和search()比较类似,它们的区别在于match()只匹配字符串的开头,如果开头没有出现目的字符串,即使后面出现了也不会进行匹配;正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,来筛选出符合这个规则的内容。为了完成本关任务,你需要掌握:1.compile()函数,2.match()函数,3.search()函数。groups():返回正则整体匹配的字符串,可以一次输入多个组号,对应组号匹配的字符串。
2024-10-30 20:16:44
586
原创 Python面向对象编程综合运用
任务描述完成三维向量类的设计。相关知识类是具有共同数据成员和成员方法的对象的抽象,而对象则是某个类的实例化和具体化。在 Python 中,使用关键字 class 定义类,在类中可以包含数据成员和成员方法的定义。其中,数据成员用来描述对象的属性,例如一本书的作者、出版社、ISBN、定价等等;成员方法则用来描述对象的行为,例如动物的行走、捕猎食物等等。在 Python 中,并没有提供严格的访问控制,只是在形式上进行了说明。
2024-10-30 20:14:47
1002
原创 类的其它特性
在默认的情况下,Python 中的属性都是公开的(public),这就意味着此类所在的模块和导入了这个类的模块都可以访问到这个类中的属性和方法。若返回的是对象,则返回对象的值,若返回的是对象的方法,则返回方法的内存地址。此时12的引用计数为1,语句y = x创建了一个指向对象12的别名y,计数为2,在语句z = y中又创建了一个别名,所以此时对象12的引用计数为3。在包装中我们可以新建、修改或删除已有的功能,授权的过程就是将更新的功能交由新类来处理,已存在的功能就授权给对象的默认属性。
2024-10-30 20:13:15
907
原创 -类的继承
在上面这个场景里,动物就是父类,它具有着所有动物都有的共性,而鱼和豹子是子类,它们不仅具有共性:呼吸、奔跑、觅食,还有着自己独特的特征:游泳、爬树。本关的编程任务是补全src/Step4/multiInherit.py文件的代码,实现当调用类E的test()时,继承的是类A的test()如果调用E.check()方法,那么先到类E中查找,然后在类C中查找,再到类D中查找。Subclass继承了Parent类,但是因为它在类中重写了sayHello(),所以在创建实例后,调用的是重写后的sayHello()
2024-10-30 20:11:07
614
原创 类的基础语法
任务描述Python 是一门面向对象的语言。面向对象编程 - Object Oriented Programming(简称 OOP)是一种编程思想,在面向对象编程中,把对象作为程序的基本单元,把程序视为一系列对象的集合。一个对象包括了数据和操作数据的方法,消息传递成为联系对象的方法。对象可按其性质划分为类,对象也就是类的实例。类是用来描述具有相同的属性和方法的对象的集合,即抽象的集合。例如书这个类,它代表着所有书,它具有书所共有的属性:书名、版本、作者和出版日期,它也具有所有书都共有的方法:销售。
2024-10-30 20:09:03
748
原创 ---模块
任务描述在 Python 程序的开发过程中,为了代码维护的方便,我们可以把函数进行分组,分别放到不同的.py文件里。这样,每个文件包含的代码就相对较少,这个.py文件就称之为一个模块(Module)。本关的目标是让学习者了解并掌握 Python 模块定义的相关知识。相关知识模块能够让我们有逻辑地组织 Python 代码段,模块中能够定义函数、类和变量,模块里也可以包含可执行的代码。模块的引入Python 中要用关键字import来引入某个模块。
2024-10-30 20:05:41
804
原创 -函数调用
在y()函数中先是执行print(1)语句,输出1,接着执行print(f())语句,所以程序在这时也会调用执行f()函数,输出2。x(f)函数中虽然也定义了y()函数,但是x(f)函数中没有调用执行y()函数,只是执行了return y。分析:因为第9行中的x(f)中的f没有带括号,f只是一个普通的参数,所以程序只调用执行了x(f)函数,没有调用执行f()函数。分析:因为第9行中的x(f)中的f没有带括号,f只是一个普通的参数,所以程序只调用执行了x(f)函数,没有调用执行f()函数。
2024-10-30 20:04:16
725
原创 顺序与选择结构
请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim,若jerry的得分jerryscore更高,则赢家为jerry,然后输出赢家的名字。在此结构中,程序通过对一个代码块或者几个代码块的判断来决定接下来运行哪一个代码块。本关的编程任务是补全inTurn.py文件中的函数部分,程序中给出a、b、c三个整数,要求实现先交换a、b的值,然后计算a + c的值并输出。# 请在此添加代码,交换changeOne、changeTwo的值,然后计算changeOne、plus的和result的值。
2024-10-30 20:01:27
625
原创 -循环结构
全班同学的试卷为一个序列,老师在批阅一个班同学的试卷时,需要从第一个同学开始一个一个批阅,然后根据每个同学的具体答卷情况给出最后得分。如果想要将迭代器保存起来,可以使用复制的方法:copy.deepcopy():x = copy.deepcopy(y),不可使用赋值的方法,这样是不起作用的。因为迭代器在访问的时候会丢失数据索引值,但是如果遇到无法随机访问的数据结构如集合时,迭代器是唯一访问元素的方式;当遍历序列时,如果判断语句1为真,则执行continue语句,跳出当前循环,直接进入下一次循环。
2024-10-30 19:59:43
815
原创 -函数结构
在上述例子中,我们在函数lazy_plus中又定义了函数plus,而且内部函数plus是可以引用外部函数lazy_plus的参数和局部变量的。但我们希望有的函数和变量别人可以使用,有的函数和变量仅仅可以在模块内部使用,这就是 Python 作用域的相关问题。我们在调用参数是可变参数的函数时,可以给该函数传递任意个数的参数,包括0个参数。但是需要特别注意的是,这四种参数在使用的过程中是有顺序的,顺序依次应该是必选参数、默认参数、可变参数和关键字参数。为了让程序的封装性更好,我们一般都限定函数的使用范围。
2024-10-30 19:57:21
675
原创 元组与字典
例如,餐馆的菜单包含了菜名和价格等信息,餐馆需要将菜名和价格都展示给顾客,但也有些时候只需要将菜名都展示给厨师,还有些时候只需要将价格展示给收银员,这三种情况就用到了字典不同的遍历方式。Python 的列表和字典可以存储任意类型的元素,所以我们可以将字典存储在列表中,也可以将列表存储在字典中,这种操作称为嵌套。比如我们对于一份菜单,菜名作为键,而值我们想是这道菜的配料,那么我们就可以将这些配料作为列表存储,然后作为值存储在字典中。要修改字典中的值,可直接指定字典中的键所对应的新值。
2024-10-30 19:50:43
675
原创 -玩转列表
任务描述本关任务是对一个给定的列表进行增、删、改等操作,并输出变化后的最终列表。列表是由按一定顺序排列的元素组成,其中的元素根据需要可能会发生变化。其中,列表元素的添加、删除或修改等是最常见的操作。下面以一则请客的故事来说明列表元素操作的应用场景:有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表guests=['Zhang san','Li si','Wang wu','Zhao liu']。后面因为一些临时情况,这个客人名单不断变化:Zhao liu说要带他的朋友Hu qi一起来;Zhang sa
2024-10-30 19:47:22
980
原创 字符串处理
本关的任务是,给定一个字符串,要利用 Python 提供的字符串处理方法,从该字符串中,查找特定的词汇,并将其替换为另外一个更合适的词。这时就需要对字符串进行处理,将其中的大写字符都转换为小写,并剔除字符串开头和结尾处的空格,然后再统一进行字符串匹配。如果该字符串中,有一个或者多个子字符串,则该方法返回第一个子串所在位置的最左端索引,若没有找到符合条件的子串,则返回-1。注意:在指定参数时,如果参数是多个字符,则该方法会将多个字符逐个去比对,进行删除(区分大小写),直到首尾两侧没有匹配的字符为止。
2024-10-30 19:43:32
521
原创 Python入门之基础语法
根据提示,在右侧编辑器 Begin-End 区间补充代码,接收用户输入的两个数 a 和 b,对其进行加减乘除四则运算,通过print函数打印四次运算结果,使结果输出形式与预期输出保持一致。Python 与 C/C++、Java 这些 C 类语言不同,Python 使用缩进来表示代码块,缩进的空格数量可以由个人习惯决定,但同一个代码块的缩进空格数必须相同。但如果要在一行中写多条语句,则需要用分号;上面程序的 if 部分和 else 部分缩进不相同,但是在各自的代码块内缩进是相同的,所以是正确的程序。
2024-10-30 19:40:58
637
原创 Python初体验——Hello World
然后,通过脚本编程方式,编写相应的代码,利用 Python 提供的print()内置函数,打印输出Hello Python,初步体验和感受 Python 编程的魅力。Python 字符串也提供区间访问方式,采用[N:M]格式,表示字符串中从N到M(不包含M)的子字符串,其中,N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如上例中的"请输入一个人的名字:"。提示:第二句和第三句可以模仿已经给出的第一句的部分代码,注意观察后两句话的特点,可以发现第一个字,是通过字符串索引提取。
2024-10-30 19:38:03
1204
原创 算法设计与分析:蛮力法
请在右侧编辑器Begin-End处补充代码,完成本关任务,要求程序输出所有可行的方法,按公鸡的升序输出,输出格式为:公鸡有a只,母鸡有b只,小鸡有c只,每个输出结果后用空行隔开。请在右侧编辑器Begin-End处补充代码,完成本关任务,要求程序输出结果格式为:ABCAB*A=DDDDDD(A、B、C、D 为阿拉伯数字)。已知戴白帽子的说真话,戴红帽子的说假话,请从他们各自提供的线索辨别谁戴白帽子,谁戴红帽子。本关任务:根据下面计算,用蛮力法解决数字迷问题,求出由 A、B、C 替代的相乘数字。
2024-10-24 11:32:38
879
原创 枚举和递推的运用
借助从小到大排序这一限制条件,我们可以设置两个变量,分别控制递推关系2x+1和5x−1的递推进程,使得依次递推出的序列是有序的,那么边界条件即为第n项递推的结束。该问题已经给出了递推变量x和递推关系2x+1,5x−1,以及初始值为x=1,但是不知道边界条件,也就是说要递推出足够多的项,然后才能找到排序后的第n项。在main中,根据枚举和递推的基本思想,计算出双关系递推数列的前n项,并从小到大存储到数组m中,下标从1开始,即第一项为m[1]=1。建立递推关系:递推关系是递推的依据,是解决递推问题的关键;
2024-10-24 11:29:36
647
原创 实验六 贪婪算法
思考:如果商店售货员找给 1 个顾客 140 元,假设钱币的面值有九种:100 元,70 元,50 元,20 元,10 元,7 元,5 元,2 元,1 元。在所有按这种操作方式最后得到的数中,最大的记作 max,最小的记作 min,则该数列的极差定义为M=max-min,请你使用贪心算法设计编程输出他们的极差。商店售货员找给 1 个顾客 n 元,用以下七种面值的纸币:100 元,50 元,20 元,10 元,5 元,2 元,1 元。编程对给定的 n 和 s,寻找一种方案使得剩下的数字组成的新数最小。
2024-10-24 11:27:57
1139
原创 实验五 分治法
请在右侧编辑器Begin-End处补充代码,完成本关任务,注意需要学生自己获取输入数据再进行操作。请在右侧编辑器Begin-End处补充代码,完成本关任务,注意需要学生自己获取输入数据再进行操作。本关任务:对于给定的 n 个元素的数组a[0:n-1],要求从中找出第 k 小的元素。10 5 //表示给定10(n)个元素的数组,从中找出第5(k)小的元素。本关任务:利用分治法求一组数据中最大的两个数和最小的两个数。1 //此行及以下为具体的每个数据。-5 //此行及以下为具体的每个数据。
2024-10-24 11:24:32
403
原创 算法设计与分析:实验三 迭代法
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;请在右侧编辑器Begin-End处补充代码,完成本关任务,输出猴子第一天摘桃子的个数,格式为:原有X个桃子。请在右侧编辑器Begin-End处补充代码,完成本关任务。平台会对你编写的代码进行测试,输出结果为正确答案时则通关。请在右侧编辑器Begin-End处补充代码,完成本关任务。本关任务:用辗转相除法求两个整数的最大公约数。本关任务:求第一天共摘了多少个桃子。开始你的任务吧,祝你成功!开始你的任务吧,祝你成功!开始你的任务吧,祝你成功!
2024-10-24 11:22:48
330
原创 算法与竞赛(第15章) - 矩阵高级运算
项之和:,其中是将序列的元素次序交换k次所得到的一个序列,k即为交换后的序列相对原序列的逆序数(在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。对于n阶矩阵(方阵)A,若存在n阶矩阵B,使得:AB=BA=I,其中I为单位矩阵,则称B为A的逆矩阵,并称A为可逆矩阵或可逆方阵,记A的逆矩阵为A。当一个矩阵的行数和列数相等时,称这个矩阵为方阵,若行数为1,则称之为一阶方阵,若行数为2,则称之为二阶方阵,以此类推,若行数为n,则称之为n阶方阵。
2024-10-24 11:19:14
993
原创 算法设计与分析:大整数的加减乘除运算
特别的,当进制K=10时,每个数组单元存储的数字为T=1位,大整数的加法运算就等价于常规整数的加法运算,只不过是用数组来模拟计算过程。我们已经知道了大整数与整数之间的乘法运算,对于大整数a与大整数b的乘法运算则是大整数与整数乘法运算的拓展,也就是说,将大整数a分别与大整数b的每个数组单元相乘,然后放置在相应位置上,并累加进位。为了完成本关任务,你需要掌握:1.大整数的思想,2.大整数加法,3.大整数减法,4.大整数与整数的乘法,5.大整数乘法,6.大整数与整数的除法,7.n的阶乘求解思路。
2024-10-24 11:15:53
380
转载 循环与递归
测试输入:5 3 (n=5,r=3;,表示从1,2,3,4,5自然数中选择 3 个数)测试输入:5 3 (n=5,r=3;,表示从1,2,3,4,5自然数中选择 3 个数)本关任务:用循环和递归算法求 n(小于 10 的正整数) 的阶乘 n!本关任务:用循环算法找出 5 个自然数中取 3 个数的组合。本关任务:用递归算法找出 5 个自然数中取 3 个数的组合。请在右侧编辑器Begin-End处补充代码,完成本关任务。本关任务:用循环和递归算法求斐波那契额数列的前 10 项。
2024-10-24 11:14:43
515
原创 算法设计与分析:递归与分治策略
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充。请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充。为了完成本关任务,你需要掌握:递归的基本思想,快速排序的方法。
2024-10-24 11:12:22
644
原创 算法与竞赛(第14章) - 矩阵基本运算
矩阵乘法是矩阵基础运算中最为复杂的,也是最为重要的运算。两个矩阵相乘,首先需要满足的相乘的基本条件:对于矩阵A和矩阵B,只有当矩阵A的列数等于矩阵B的行数时,矩阵A才能乘以矩阵B,即A×B,否则它们不能进行乘法运算。在operator *中,根据矩阵的乘法运算法则,在矩阵结构体中,实现矩阵乘法的重载函数:计算两个矩阵(结构体内部矩阵指针this和参数矩阵B)的乘法,并返回乘法运算后的结果矩阵。由此可以看出,矩阵A和矩阵B相乘后得到的矩阵C的行数与左矩阵A的行数相同,列数与右矩阵B的列数相同,即C=(c。
2024-10-24 11:08:16
1388
原创 全国计算机三级网络技术易错知识点
nat命令总是与global命令一起使用,因为nat命令可以指定一台主机或一段范围的主机访问外网,访问外网时需要利用global所指定的地址池进行对外访问。交换机总线交换结构性能好、便于堆叠扩展、易实现帧的广播、易监控管理和易实现多个输入对一个输出的帧传送的特点但它对总线的带宽要求比较高。基于网络的入侵检测系统采用的识别技术主要有:模式匹配、统计意义上的非正常现象检测、时间的相关性、频率和阈值。收到不是DHCP中继器转发的DHCP发现消息时,会选择收到“DHCP”消息的子网所处的网段分配ip地址。
2023-04-05 20:24:07
455
3
原创 UML建模-7-顺序图
在标识出系统的类图之后,仅给出了实现用例的组成结构,除此之外还需要描述这些类的对象是如何交互来实现用例功能的。在一个待开发的系统中,任何对象都不是孤立存在的,系统中对象之间通过消息的传递来进行交互。因此在设计系统时,需要使用交互图对对象之间的交互进行建模。交互图表示类(对象)如何交互来实现系统行为。交互图是顺序图、通信图、交互概览图和定时图的总称。顺序图:强调消息的时间次序的交互图,顺序图展示的是按时间顺序发生的消息传送。
2023-04-04 18:31:36
2356
原创 UML建模-6-对象图
对象图描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以看做是类图在某一时刻的实例,用来表达各个对象在某一时刻的状态。对象图中的建模元素主要有对象和链,对象是类的实例,链是类之间的关联关系的实例。对象指的是一个单独的、可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确切定义的角色。即:对象是边界非常清楚的任何事物。一个对象通常包含以下几部分:标识(名字):即对象名状态(属性):包括对象的所有属性(通常是静态的)和属性的当前值(通常是动态的)
2023-04-04 17:53:04
660
Tomcat安装及配置指南
2023-03-21
Python程序开发教程课后习题答案
2023-03-21
计算机课程-计算机导论课件
2023-03-20
javascript里${}的用法
2023-03-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人