数列 前缀 区间 算法

数据结构与算法学习01

学习要点 一、预习页码:2-27 二、预习内容 1、数据结构基本定义:数据、数据元素、数据项、数据对象,重点理解数据结构的定义。 2、理解逻辑结构。集合、线性结构、树形结构、图形结构。数学描述方法。 3、理解存储结构。顺序存储结构、链式存储结构、索引存储结构和哈希存储结构。 4、掌握并理解自定义类型 ......
数据结构 算法 结构 数据

数据结构与算法学习02

学习要点 一、复习内容 重点及难点:算法的时间复杂度分析。过程:(1)找寻循环中的最内层语句(2)分析该语句的执行次数。 二、预习内容 1、预习页码:21-22,30,32-42 2、具体预习内容 (1)算法的平均时间复杂度分析。不能用最好和最坏的极端情况分析算法,应该用等概率的平均时间复杂度来进行 ......
数据结构 算法 结构 数据

数据结构与算法学习03

学习要点 一、预习页码:38-51 二、预习内容 1、顺序表应用实例——P38 例题2.3+例题2.4,练习题P71 6。 2、线性表的实现——单链表(必须掌握),构造过程,见P43-图2.11 3、单链表的定义,见P44--最后四行 4、熟练掌握单链表的插入删除操作。(重点掌握)——图2.14+图 ......
数据结构 算法 结构 数据

数据结构与算法学习04

学习要点 1、预习页码:47-54 2、预习内容: (1)单链表建立的头插法和尾插法。(重点)两种方法的不同级效果。 (2)线性表的基本运算在单链表中的实现。(9个算法)重点掌握在9个算法中,如何计算单链表的长度(采用循环计数的方式),单链表越界的描述,单链表中节点的查找,单链表节点的插入和删除操作 ......
数据结构 算法 结构 数据

数据结构与算法学习05

学习要点 一、复习内容:单链表头插法和尾插法及核心代码,能运用头插法和尾插法完成基于单链表建表的算法应用问题。 二、预习页码:52-60 三、预习内容 1、基于单链表查询的算法的设计过程。阅读代码P52--例2.7+2.8,能熟练掌握单链表的查找算法。 2、双链表的基本构造(包括基本概念+画图)、结 ......
数据结构 算法 结构 数据

数据结构与算法学习06

学习要点 一、预习页码:57-60、79-83 二、预习内容 1、理解双链表和单链表的区别,能熟练运用单链表算法改进并适用双链表。例如双链表插入和删除操作,双链表逆置操作(教材P57--例题2.9),双链表排序操作(教材P57--例题2.10),和教材P53--例2.8比较。 2、循环链表(包含循环 ......
数据结构 算法 结构 数据

数据结构与算法学习00

同学们: 大家好! 愉快的暑假开始了,如果你有时间,可以做好《数据结构》学习。部分建议如下: 1、观看学习视频进行关键知识点的学习,本课程视频采用的教材和我们下个学期的同版,大家可以跟着视频进行提前学习。 2、教材pdf电子稿,大家可以在课程——资料——数据结构第5版.pdf查看。 3、学习网站有实 ......
数据结构 算法 结构 数据

算法(第4版)练习题1.1.27的三种解法

本文列举了对于 算法 : 第4版 / (美) 塞奇威客 (Sedgewick, R.) , (美) 韦恩 (Wayne, K.) 著 ; 谢路云译. -- 北京 : 人民邮电出版社, 2012.10 (2021.5重印)(以下简称原书或书)中的练习题 1.1.27 的三种解法(C++ 实现),并对包 ......
解法 练习题 算法 27

【花雕学AI】爆款ChatGPT的核心算法和技术逻辑到底是什么?

一、ChatGPT是一种基于GPT模型的聊天机器人由OpenAI研究中心开发,于2022年11月30日发布。它可以根据用户的输入,生成自然、流畅、有趣的对话回复。它的技术逻辑主要是利用大规模的预训练语言模型(LLM),通过Transformer结构和Attention机制,学习海量的文本数据,从而实 ......
花雕 算法 逻辑 核心 ChatGPT

扎实打牢数据结构算法根基,从此不怕算法面试系列之007 week01 02-07 简单的复杂度分析

#1、复杂度分析 复杂度分析本身是非常理论化的一个内容,在计算机科学中,有一个专门的学科叫做——计算复杂性理论。 很多童鞋看过《算法导论》,这本书的内容很多很强调算法导论。 但是实际上,对于普通程序员来说,不需要过度强调理论化的内容。因为工作中更多面对的是实际的 软件工程,工程化的工作不需要面对太多 ......
算法 复杂度 数据结构 根基 结构

带约束条件的运筹规划问题求解(模拟退火算法实现)

0. 写在前面 超级简单的模拟退火算法实现ε٩(๑> ₃ <)۶з搭配最简单的线性规划模型进行讲解!但是如果需要的话可以直接修改编程非线性问题哦(´つヮ⊂︎) 1. 模型描述及处理 1.1 线性规划模型 $$ max,f(x)=10x_1+9x_2 $$ $s.t.$ $$ 6x_1+5x_2\le ......
算法 条件 问题

机器学习:XGBoost算法介绍

动动发财的小手,点个赞吧! 1. 简介 XGBoost (eXtreme Gradient Boosting)是一种用于回归、分类和排序的机器学习算法。它是GBDT(Gradient Boosting Decision Trees)的一种高效实现,能够在大规模数据集上运行,并具有很强的泛化能力。XG ......
算法 机器 XGBoost

算法刷题系列——二分查找

704. 二分查找(2023.4.17) 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = ......
算法

PAT Basic 1112. 超标区间

PAT Basic 1112. 超标区间 1. 题目描述: 上图是用某科学研究中采集的数据绘制成的折线图,其中红色横线表示正常数据的阈值(在此图中阈值是 25)。你的任务就是把超出阈值的非正常数据所在的区间找出来。例如上图中横轴 [3, 5] 区间中的 3 个数据点超标,横轴上点 9 (可以表示为区 ......
区间 Basic 1112 PAT

树套树——维护区间内权值信息的“重武器”

Introduction 树套树,顾名思义,就是将各类“树”据结构的节点换成“树”,以此解决一些问题。 一般情况下,两层树分别维护区间信息和区间内权值的信息。 而因为树套树极劣的空间复杂度和巨大的常数,经常需要使用 动态开点 和 垃圾回收 的方法降低空间复杂度,以及一定的卡常技巧(将较为短小的不含循 ......
重武器 区间 信息

快速幂算法

对于计算比较大的幂的结果时可以采用快速幂来降低时间复杂度 例如求K的n次幂 int Pow(int K, int n) { for (int i = 0; i < n; i++) K *= K; return K; } 最朴素的思想就是直接n次循环,让K自乘n次,但是随着n的增加循环次数会越来越多, ......
算法

排序算法-基数排序

基数排序Radix Sort 1. Radix Sort介绍 Radix Sort属于“分配式排序”(Distribution Sort),又称“桶子法”(Bucket Sort),其是通过比较待排序序列的所有元素的各个位的值,将元素分配至“桶”中,以达到排序的目的。Radix Sort是一种效率较 ......
基数 算法

初次排序算法学习

直接选择排序: 思路:从数组中挑出最小(最大)的数,与数组第一位(最后一位)交换位置,然后依次进行,直到最后两个元素比较完毕为止。 实现: 声明一个中间变量max,用于存放最大值;声明一个变量m,用于存放最大值对应的序号。 外侧循环次数是n-1,n是数组元素个数,意思是挑出n-1个最大值,剩下的自然 ......
算法

基于决策树算法的病例类型诊断matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 ID3算法是一种贪心算法,用来构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分的具有最高信息增益的属性作为划分标准,然后继续这个过程,直到生成 ......
病例 算法 类型 matlab

实际问题中用到的算法——递归算法确定插帧顺序

问题: 现在需要给一个视频序列插帧,插帧算法要求每次只能由两帧输入插值得到其中间帧。如果现在需要给一个视频做 4 倍(或者更高的 8,16 倍等类似)的插帧,则一个插帧的思路是当前视频每相邻帧之间插入 3 帧,即:假设插帧前视频帧序号是 0,4,8,12…,则插帧时补充相邻帧跨过的 3 个序号,得到 ......
算法 中用 顺序 实际 问题

基于GOA蚱蜢优化算法的KNN分类器最优特征选择matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 蝗 虫 优 化 算 法 ( Grasshopper Optimization Algorithm, GOA) 是一种新型的元启发式算法,由 Mirjalili 等人于2017年提出。该算法受幼虫和成年蝗虫大范围移动与寻 ......
蚱蜢 算法 特征 matlab GOA

【题解】P6292 区间本质不同子串个数

原题链接 区间本质不同子串个数 题目描述 给定一个长度为 $n$ 的字符串 $S$,$m$ 次询问由 $S$ 的第 $L$ 到第 $R$ 个字符组成的字符串包含多少个本质不同的子串。 定义两个字符串 $a,b$ 相同当且仅当 $|a|=|b|$ 并且对于 $i\in[1,|a|]$ 都有 $a_i= ......
题解 区间 个数 本质 P6292

密码引擎-4-国䀄算法交叉测试

实验一 密码引擎-4-国䀄算法交叉测试 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 在 ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

任务详情 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3 在Ubuntu中使用Open ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

实验一 密码引擎-4-国䀄算法交叉测试 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3.在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然 ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

实验一 密码引擎-4-国䀄算法交叉测试 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 使用openssl用sm4算法加密文件 openssl enc -sm4 ......
算法 密码 引擎

【前缀和】LeetCode 304. 二维区域和检索 - 矩阵不可变

题目链接 304. 二维区域和检索 - 矩阵不可变 思路 显然,一个矩阵的元素和可以拆分成每一行相加。 那一个矩阵的每一行不就是一个个一维数组,一维数组怎么快速求子数组的和?前缀和! 所以这道题很明显就是对输入矩阵建立一个前缀和矩阵,然后求每一行的前缀和差值便能就得子矩阵的和。 代码 class N ......
前缀 矩阵 LeetCode 区域 304

实验一 密码引擎-4-国䀄算法交叉测试

任务详情 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3 在Ubuntu中使用Open ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

#实验一 密码引擎-4-国䀄算法交叉测试 目录 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 2.1 创建EC参数和原始私钥文件 2.2 将原始的私钥文件,转换为p ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试--20201313徐嘉远和20201305焦腾辉

#任务详情 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3 在Ubuntu中使用Ope ......
算法 20201313 20201305 密码 引擎