数据结构第8章:排序
1 总览
比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 包括插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序和归并排序。
非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。包括计数排序、桶排序和基数排序。
稳定:如果a原本在b前面,若a=b,那么排序之后a仍然在b的前面。
不稳定:如果a原本在b前面,若a=b,那么排序之后a可能在b的后面。
2 内部排序算法介绍2.1 插入排序类似于打扑克牌,插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
2.1.1 直接插入排序算法思想
将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。
从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素 ...
数据库第9章:关系查询处理和查询优化
本章介绍数据库的查询处理和查询优化,查询优化一般可分为代数优化(逻辑优化)和物理优化。
1 关系数据库系统的查询处理 1.1 查询处理步骤
RDBMS查询处理阶段 :
查询分析
查询检查
查询优化
查询执行
1.1.1 查询分析对查询语句进行扫描、词法分析和语法分析,从查询语句中识别出语言符号,如SQL关键字、属性名和关系名等。
进行语法检查和语法分析,如果没有语法错误就转入下步处理,否则报告语句中出现的错误。
1.1.2 查询检查根据数据字典对合法的查询语句进行语义检查,根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查。
还要根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查,这时的完整性检查是初步的、静态的检查。
检查通过后把SQL查询语句转换成等价的关系代数表达式。RDBMS一般都用查询树(语法分析树)来表示扩展的关系代数表达式,把数据库对象的外部名称转换为内部表示。
1.1.3 查询优化选择一个高效执行的查询处理策略,查询优化分类 :
代数优化:指关系代数表达式的优化
物理优化:指存取路径和底层操作算法的选择
查询优化方法选择的 ...
高等数学第2章:导数与微分
1 导数概念1.1 函数在一点处可导的概念1.1.1 导数定义
数学定义为:
$$f^{\prime}\left(x_0\right)=\lim_{\Delta x\to0}\frac{\Delta y}{\Delta x}=\lim_{\Delta x\to0}\frac{f\left(x_0+\Delta x\right)-f\left(x_0\right)}{\Delta x}$$
也可记作:
$$y’|_{x=x_0}, \frac{\mathrm{d}y}{\mathrm{d}x} |_{x=x_0} \text{或}\frac{\mathrm{d}f(x)}{\mathrm{d}x}|_{x=x_0}$$
导数的实质:变化率
导数的定义式:
$$f’\left(x_0\right)=\lim_{\Delta x\to0}\frac{f\left(x_0+\Delta x\right)-f\left(x_0\right)}{\Delta x}$$
或
$$f’\left(x_0\right)=\lim ...
机试记录1:华为机试
1 机试背景
机试公司:华为技术有限公司
机试岗位:推荐搜索
机试类型:线上机试
机试时间:2024-06-05 19:00~21:00
题目设置:一共 3 道题,分别为 100、200 和 300 分
机试结果:通过 😊
2 第一题:电影相关2.1 题目描述题意大体是第一行n是输入数据的个数,之后每一行的数据由三个字段组成:
字段1:这部电影的导演
字段2:这部电影的主演
字段3:这部电影的类型
然后给你一个查询,由两个字段组成:
字段1:要查询的类型,是电影的导演、主演还是类型
字段2:要查询的内容
让你把所有匹配的结果输出出来,注意id从小到大进行输出,不同id之间使用空格隔开。
这道题思路感觉还是挺简单的,不用使用任何的算法,直接按照题意描述做就可以,但是最后过了85%的测试用例,不知道为什么,就先做后面了。
3 第二题:服务器3.1 题目描述每个服务器用一个id和所能装载的文件数来描述,之后要进行查询和删除操作,并且这个题目实际上就是对一个循环链表进行插入和删除操作。
最后通过了96%的测试用例,另外这题的输入输出是真的麻烦,要自己进行处理,所以平时还是要多练 ...
数据库第5章:数据库完整性
1 基本概念数据的完整性和安全性是两个不同概念。
数据的完整性:
防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据
防范对象:不合语义的、不正确的数据
数据的安全性
保护数据库防止恶意的破坏和非法的存取
防范对象:非法用户和非法操作
为维护数据库的完整性,DBMS必须:
提供定义完整性约束条件的机制
提供完整性检查的方法
违约处理
实体完整性和参照完整性:
关系模型必须满足的完整性约束条件
称为关系的两个不变性,应该由关系系统自动支持
用户定义的完整性:
应用领域需要遵循的约束条件,体现了具体领域中的语义约束
实体完整性规则的说明:
实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。
现实世界中的实体是可区分的,即它们具有某种唯一性标识。
关系模型中以候选码作为唯一性标识。
候选码中的属性即主属性不能取空值。
主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第2点相矛盾,因此这个规则称为实体完整性。
2 实体完整性2.1 候选码、主码、主属性
关系中的某一属性组 ...
书生·浦语大模型实战2
1 实战:部署实战营优秀作品八戒-Chat-1.8B、Chat-嬛嬛-1.8B、Mini-Horo-巧耳 均是在第一期实战营中运用 InternLM2-Chat-1.8B 模型进行微调训练的优秀成果。其中,八戒-Chat-1.8B 是利用《西游记》剧本中所有关于猪八戒的台词和语句以及 LLM API 生成的相关数据结果,进行全量微调得到的猪八戒聊天模型。作为 Roleplay-with-XiYou 子项目之一,八戒-Chat-1.8B 能够以较低的训练成本达到不错的角色模仿能力,同时低部署条件能够为后续工作降低算力门槛。
1.1 配置环境使用 git 命令来获得仓库内的 Demo 文件,其中的-b camp2是分支的意思。
1git clone https://gitee.com/InternLM/Tutorial -b camp2
克隆代码之后,运行以下代码下载模型:
1python /root/Tutorial/helloworld/bajie_download.py
下载结果如下:
八戒模型的介绍如下。
1.2 八戒-Chat八戒-Chat是利用《西游记》剧本中所有关于猪 ...
书生·浦语大模型实战1
1 安装环境在刚打开开发机的过程中显示没有文件或路径,如下:
应该是误删了什么东西,因为指导书中写了一开始就配有 base 环境,但是我的没有,所以考虑重置一下环境吧。
以下是操作步骤:
慎重执行!!!!所有数据将会丢失,仅限 InternStudio 平台,自己的机器千万别这么操作*第一步本地终端 ssh 连上开发机(一定要 ssh 连接上操作,不能在 web 里面操作!!!)第二步执行 **rm -rf /root*,大概会等待10分钟第三步重启开发机,系统会重置 /root 路径下的配置文件第四步 *ln -s /share /root/share*
这里需要配置本地 SSH 远程连接,因此需要生成公钥和私钥,参考网上教程进行连接,连接成功如下:
接下来进行删除操作并重置环境。
可以看到,重新启动后没有那句报错了,成功解决,并且也有了初始环境 base,看一下接下来安装 conda 环境有没有错误。
下载 conda 环境成功:
2 下载模型新建文件 download_mini.py,内容如下:
123456789101112import osfrom ...
书生·浦语大模型笔记1
1 大模型概述大模型通常指的是具有庞大参数和复杂结构的机器学习模型。这些模型通过在大规模数据集上进行训练,能够学习到丰富的特征表示和复杂的映射关系。 大模型在众多领域都有广泛的应用,包括但不限于自然语言处理、计算机视觉、语音识别等。在自然语言处理领域,大模型可以用于文本分类、情感分析、机器翻译等任务;在计算机视觉领域,大模型可以实现高质量的图像识别和生成;在语音识别领域,大模型可以准确地将语音信号转换为文本。而在深度学习中,大模型往往表现为深度神经网络,如卷积神经网络(CNN)、循环神经网络(RNN)和变换器(Transformer)等。
1.1 大模型称为发展通用人工智能的重要途经
面向不同的需求,会有不同的模型。但是大模型可以使得一个模型解决多种任务,所以说通用大模型称为一个热点,是通往人工智能的一个关键途径。
1.2 回归语言建模的本质大模型本质上是在做语言建模,通过给定的文本,预测接下来的token。
1.3 大模型的挑战与未来展望尽管大模型在机器学习领域取得了显著成果,但仍面临一些挑战。首先,大模型的训练需要大量的计算资源和时间,这使得其在实际应用中受到一定限制。其次,大模 ...
信息安全实验1:数据的机密性
1 实验环境
操作系统版本:Windows 11 家庭中文版23H2
Microsoft Edge版本:122.0.2365.92(正式版本)(64位)
2 实验内容2.1 运行RSA加密程序,并进行改进RSA加密是一种非对称加密算法,它使用了一对密钥:公钥和私钥。RSA加密的安全性基于一个数学难题,即大素数分解。这个算法是由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出的,他们姓氏的首字母组成了这个算法的名字。
RSA加密的安全性基于大数分解问题的难度,即在已知n的情况下,将其分解为p和q的乘积。目前,除非使用非常大的素数并且密钥长度足够长,否则RSA加密是相对安全的。RSA算法在信息安全领域广泛应用于数据加密、数字签名和密钥协商等方面。
代码2.1是Python语言的RSA加密程序。
代码清单2.1 RSA加密程序Python实现
123456789101112131415161718192021222324252627282930313233import rsa import base64 # RSA加密 def rsa ...
一些杂谈
最近是五一假期,放假7天,并且一些任务也完成了,所以才有时间写下这个内容。
1 最近的一些感受1.1 关于截止时间的问题在生活中,有很多任务等着我们去完成,相应的就有很多重要的时间结点等着我们,有的时间结点可能距离我们较远,有的距离我们较近,如果提前规划好这些任务是很重要的。我认为做一件事,最晚可能需要提前一个月做,这个是在你想把它做好的情况下。换个角度,也就是说如果你想在某一件事情上达到比较好的水平,至少需要一个月的时间。
另外做一件事情的最好时间是十年前,其次就是现在,这一点我颇有感悟,因为我最近发生了很多这样的事情:我之前没有做,但是当我发现这件事会带来正向影响,自那之后我就坚持做,并且最近我得到了收益。这种事情举例如下:
学习强国:上学期有一个学习强国积分竞赛,但是由于我没怎么做,所以没有被选上,自那之后,每天都刷学习强国,现在我的总积分达到了22485,今年的学习己分达到了4910,并且在我们支部中是第一,第二分数为4811。虽然只相差100分,但是至少这100分我是花了时间的。
发展对象评选:也是上个学期,我积极分子已经满了一年,可以评选发展对象,但是由于要求班级思评必须 ...