- 博客(107)
- 资源 (4)
- 收藏
- 关注
原创 算法之线性表1.1.1(5)查找x
线性表(a1,a2,a3,...,an)中的元素递增有序且按顺序存储于计算机内。要求设计一个算法,完成用最少时间在表中查找数值为x的元素,若找到,则将其与后继元素位置相交换,若找不到,则将其有序插入。
2023-07-06 21:22:56
287
原创 算法之线性表1.1.1(4)
已知在一维数组A[m + n]中依次存放两个线性表(a1,a2,a3,……,am)和(b1,b2,b3,……,bn)。试编写一个函数,将数组中两个顺序表的位置互换,即将(b1,b2,b3,……,bn)放在(a1,a2,a3,……,am)的前面。
2023-07-06 21:04:57
421
原创 排序之堆排序
首先,我们定义了heapify函数用来维护一个二叉堆的性质。它的参数包括目标数组、数组长度以及目标节点的索引。在heapify函数中,我们将目标节点、其左子节点和右子节点三者中的最大值作为新的根节点,并递归地对新的根节点进行堆化操作。然后,我们定义了heapSort函数用于进行堆排序。首先在heapSort函数中,我们从数组的中间位置开始往前遍历,对每个节点都调用一次heapify函数,这样就可以将整个数组构建为一个大根堆。
2023-06-17 22:20:21
597
原创 排序之冒泡排序
比较相邻的两个元素,如果第一个元素比第二个元素大,则交换它们的位置。对每一对相邻的元素做同样的工作,从开始到结尾,这样每一轮过后,最后的元素都是当前未排序元素中的最大值,因此每次需要将待排序的元素个数减少一。在函数内部,我们使用两层循环:外层循环遍历整个数组,内层循环将相邻的两个元素进行比较。如果前面的元素比后面的元素大,则交换它们的位置。这样,每一轮过后,最后一个元素就是当前未排序元素中的最大值。在内层循环结束之后,我们需要判断是否发生了交换。
2023-06-13 22:47:39
168
原创 排序之希尔排序
希尔排序的基本思想是:先将待排序的数组按照一定的步长进行分组,然后对每组中的元素进行插入排序。随着步长逐渐减小,每组包含的元素越来越少,当步长减小到1时,整个数组被分成了一组,排序完成。在函数内部,我们首先计算出数组的长度 n,并初始化步长 gap 为 n 的一半。最后,我们将步长除以2,并继续循环,直到步长为1时,排序完成。
2023-06-13 22:36:56
658
原创 排序之快速排序
需要注意的是,快速排序的时间复杂度与基准元素的选择有关。如果每次选择的基准元素都恰好是中位数,那么最坏情况下的时间复杂度为 O(n^2),但这种情况发生的概率非常小。在实际应用中,通常会采用随机选取基准元素的方式来避免最坏情况的发生,从而保证快速排序的平均时间复杂度为 O(n log n)。在快速排序中,我们选择一个基准元素(通常是数组的第一个或最后一个元素),将数组中小于等于基准元素的元素放在基准元素的左侧,大于基准元素的元素放在基准元素的右侧,然后递归地对左右两个子数组进行同样的操作。
2023-06-13 22:07:42
383
原创 Python之快速排序
我们首先判断数组是否只有一个元素或没有元素,如果是则直接返回原数组。接下来,我们将递归地对这两个部分进行快速排序,并将它们与基准值连接在一起,形成新的有序数组。这个算法的核心就是将数组分为小于基准值和大于基准值的两个部分,并递归地对它们进行快速排序。这里采用了Python的列表推导式来生成两个部分,使代码更加简洁明了。
2023-06-13 22:06:13
290
原创 机器学习复习(下)
经验误差指的是模型在训练数据集上的误差,而泛化误差则是模型在新数据上的误差。在训练过程中,我们通常会使用训练数据集来拟合模型,并通过经验误差来评估模型的拟合效果,希望能够得到一个具有较低经验误差的模型。但是,这并不一定意味着模型能够在新数据上表现得好,因为模型可能会出现过拟合的情况。/*过拟合指的是模型在训练集上表现非常好,但是在测试集上表现较差的情况。当模型过于关注训练集中的噪声或个别样本时,就容易导致模型出现过拟合的问题,这时模型的泛化能力就会受到影响,泛化误差就会变大。
2023-06-12 20:52:48
2074
原创 机器学习复习(上)
预剪枝和后剪枝都是决策树中用来避免过拟合的技术,它们的主要区别在于剪枝的时间。预剪枝是在生成决策树的过程中,在每个节点进行划分前,先通过计算信息增益或其他指标评估该节点是否需要进一步划分。如果该节点不满足预先设定的条件,那么就停止划分,将当前节点标记为叶子节点。预剪枝优点在于节省了决策树的构建时间,同时降低了过拟合的风险。但如果预先设定的条件不够准确,就容易出现欠拟合的情况。后剪枝是在生成完整的决策树之后,再对决策树进行剪枝。
2023-06-10 00:10:26
1735
4
原创 字符串的模式匹配——朴素模式及KMP算法
常用的next数组的计算方法是通过递推计算,即对于当前的i,先找到其前一个字符的最长前缀后缀相同的长度,然后再考虑当前字符与其前缀的匹配情况,从而得到next [ i ]的值。KMP(Knuth-Morris-Pratt)算法是一种字符串匹配算法,用于在一个主串中查找一个模式串的出现位置。下面是一个简单的用C++实现的KMP算法,其中包括next数组的计算和字符串匹配的过程。个字符失配时,下一次该从模式串的第 next [ i ] 个字符开始匹配。的字符串匹配算法,其中m是模式串的长度,n是主串的长度。
2023-06-08 17:48:37
180
原创 计算机网络复习(六)
在icmp 中变量icmpInParmProbs 的标号是5,它是一个计数器,用来统计收到的类型为参数问题的ICMP 差错报告报文的数目。答:01001100 1001101 00111001 有 3 个字节,中间的一个高位为 1,因此它不是 ASCII 码,需要使用 quoted-printable 编码。答: IPAddress的T字段为40,IPAddress要用4字节编码,上述IPAddress的16进制表示为:83 15 0E 02,所以其ASN.1 编码为40 04 83 15 0E 02。
2023-02-18 22:01:01
4902
原创 JSP四大域对象
只要是通过application设置的属性,则所有的session都可以取得,表示公共的内容,但是如果此时服务器重启了,则无法取得了,因为关闭服务器后,所有的属性都消失了,所以需要重新设置。无论客户端还是服务器端都可以取得,但是现在重新开启一个新的浏览器,则无法取得之前设置的session了,因为每一个session只保存在当前的浏览器当中,并在相关的页面取得。在JSP中提供了四种属性的保存范围,所谓的属性保存范围,指的就是一个设置的对象,可以再多少个页面中保存并可以继续使用。在合理范围内尽可能小。
2023-02-11 23:32:20
612
原创 数据存储技术复习(四)未完
通常,这些元数据存储为文件的一部分且分布于整个环境中。请说明统一存储的关键组件,以及数据块、文件和对象I/o请求方式下的I/o传输路径。7.信息可用性(A)指的是IT基础架构在指定的运行时间内按照企业预期工作的能力,请说明信息可用性定义的指标。3. NAS可实现文件服务器的整合,请分别绘制传统文件服务器环境和NAS环境,并说明实施NAS的优点。4.当前数据采集手段和环境下,根据结构说明数据存在的类型,并说明基于对象的存储的驱动因素。:是运行OSD操作环境的服务器,可提供在系统中存储、检索和管理数据的服务。
2023-02-10 15:47:38
919
原创 数据存储技术复习(三)未完
在文件共享环境中,创建文件的用户(文件的创建者或所有者)确定要向其他用户授予的访问权限类型(例如读取、写入、执行、附加、删除),并控制对文件的更改。5.存储资源调配是根据主机上运行的应用程序的容量、可用性和性能要求向主机分配存储资源的过程。3.智能存储系统中,随着缓存写满,存储系统必须采取措施来刷新脏页(数据已写入缓存但尚未写入磁盘),以便管理空间可用性。2.分区是FC交换机的一种功能,使连接结构中的节点能够在逻辑上分为各个组,并且组间可以相互通信。请说明分区的类型及每种分区的工作特点。
2023-02-09 22:37:32
870
1
原创 数据存储技术复习(二)未完
如果一台磁盘驱动器出现故障,仍正常运行的磁盘驱动器上的数据将完好无损,并且控制器可继续通过镜像对中仍正常运行的磁盘来满足主机的数据请求。3.若某磁盘驱动器假定每扇区可保存512个字节,请计算一个格式化后的容量为465.7GB的500 GB驱动器所拥有的数据块的个数。(4)条块大小/条带深度描述条块中的数据块数量,也是可以从集合中的单个磁盘读取和写入的最大数据量(假定访问数据从条块开始处开始)。7.在RAID分条技术中,在条块大小为64KB的五个磁盘分条RAID集中,请计算该RAID集的条带大小。
2023-02-09 20:34:58
1249
3
原创 数据存储技术复习(一)未完
3.在数据中心的IT基础架构和支持基础架构中,IT基础架构的布局包括五个逻辑层和三项跨层功能。五个层分别为物理基础架构、虚拟基础架构、软件定义的基础架构、流程编排和服务。请详细说明软件定义的基础架构层的:(1)部署方式;(2)PVID:唯一物理卷标识符(PVID)会在进行初始化以供逻辑卷管理器(LVM)使用时分配给每个物理卷。请详细说明数据中心的。(5)合并:合并是将多个物理驱动器组合在一起并将它们作为一个大的逻辑卷呈现给主机的过程。(1)PV:指硬盘分区,连接到主机系统的每个物理磁盘都是物理卷(PV)。
2023-02-09 16:29:03
892
2
原创 Servlet 生命周期
简单概括分为四步:servlet类加载->实例化->服务->销毁。下面描述一下Tomcat与Servlet是如何工作的,看看下面的时序图
2023-01-17 13:21:03
120
原创 转发与重定向的区别
重定向会产生一个新的request,不能共享request域信息与请求参数。(重定向可以重定义到任意资源路径,转发只能转发到自己的web应用内。(转发页面的URL不会改变,重定向会改变。,转发才可以,相当于服务器跳转,方法调用。访问服务器两次,转发只访问服务器一次。,可以携带参数进行页面跳转。2. 重定向跳转后网址会变为。
2022-12-10 22:13:01
592
原创 计算机网络复习(四)
CIDR地址块划分 P129 25题路由转发表 37题距离法 P161~1624.8虚拟专用网VPN和网络地址转换NAT P188
2022-12-08 22:02:40
8550
2
原创 1133.团购
有 x 个人打算买 A 类商品,有 y 个人打算买 B 类商品,z 个人打算买 C 类商品,每个人都只打算买 1 件商品。请求出这些人最多团购多少次。
2022-09-03 21:43:02
128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人