-
第二章作业
1,先在当前数组区间选一个基准值P,调用函数,把区间分成两部分:左边所有元素 ≤ pivot,右边所有元素 ≥ P。基准落到最终正确位置。 在计算左区间元素数量len = K-left+1: 如果len == k:基准就是第 k 小元素,直接返回。 当len > k:第 k 小在左半边,递归处理左区 -
第二章作业-分治法实践与感悟
想要在无须的数列中找到第k小的数字,我们可以采用分治法的思想帮助我们解决问题。具体而言,第一步分解子问题,创建一个数组记录这个数列,在数组中随机选取一个元素作为分隔的“隔板”(命名为"pivot"吧),把小于pivot的数字都移动到左侧,把大于pivot的数字都移动到右侧,pivot最后所处的位置记 -
对分治法的思考
一、找第k小的数的分治算法 基于快速选择: 输入一个数组[left...right],则目标为k 1.若区间只有一个元素(leftright),直接返回该元素。 2.在区间内选择基准p,调用划分函数:把小于等于p的数放左边,大于p的放右边,返回基准元素最终的下标ans。 3.计算基准在当前区间是第几 -
20242313 2026-2027-1 《网络与系统攻防技术》实验二实验报告
20242313 《网络与系统攻防技术》实验二实验报告 学号:20242313 姓名:曾海鹏 主机名:zenghaipeng 1. 基础知识 本次实验用到的基础知识总结如下: 1.1 netcat(nc/ncat) netcat是网络工具里的"瑞士军刀",能在两台机器之间建立TCP连接并传输数据。最 -
第一章作业
1.命名 变量和函数用小驼峰:studentGrade、calculateAverage() 类名用大驼峰:StudentManager、ScoreAnalyzer 常量全大写加下划线:MAX_CONNECTION、DEFAULT_TIMEOUT 尽量不用拼音,也不要用无意义的缩写 函数名最好包含动 -
我的C++代码规范
1 命名 文件:全小写,下划线分隔 user_util.hpp / user_util.cpp 类 / 结构体 / 枚举:大驼峰 UserManager 函数 / 局部变量 / 参数:小驼峰 getUserInfo 类成员:m_ + 小驼峰 m_userName 全局变量:尽量不用;必须用则 g_ -
20242427 2025-2026-1 《网络与系统攻防技术》实验一实验报告
20242427 2025-2026-1 《网络与系统攻防技术》实验一实验报告 环境:Kali Linux(主机名 hejitao);对象:pwn1(7418 字节,32 位 ELF);自建文件名均含学号 20242427 1.基础知识 1.1 CALL 指令与相对偏移 x86 的 call 机器码 -
20242426 2026-2027-1 《网络与系统攻防技术》实验一实验报告
20242326 2025-2026-1 《网络与系统攻防技术》实验一实验报告 学号姓名: 20242326 姚诗语 实验时间: 2026年10月 实验环境: Kali Linux,32位 ELF 可执行文件 pwn1_20242326,GDB 调试器,objdump 反汇编工具,Python3 1 -
用自然语言或伪代码描述找第k小的数的分治算法
自然语言描述: 找第k小的数通常采用基于快速排序思想的“快速选择(QuickSelect)”算法。其分治过程如下: (1)分(Divide):从数组中选择一个元素作为基准(pivot)。通过划分操作(Partition),将数组分为两部分,使得左半部分的元素都小于等于基准,右半部分的元素都大于等于基 -
我的第二章作业学习
一、分治算法描述(快速选择找第k小) 自然语言描述 本算法基于快速排序的划分思想,采用分治策略实现平均O(n)复杂度查找第k小数: 划分(partition):在当前数组区间[left,right]选取基准元素pivot,将区间划分成两部分:左侧所有元素≤pivot,右侧所有元素≥pivot;划分完 -
第二章实践作业
找第k小的数的分治算法 一、算法描述 给定一个无序数组A和整数k,找出数组中第k小的元素。采用分治思想,核心是快速选择算法。 自然语言描述: 分解:从数组A中选择一个基准元素pivot。 划分:将数组重新排列,使得小于pivot的元素在左边,等于pivot的元素在中间,大于pivot的元素在右边。 -
分治法
一、查找第 k 小元素 1.自然语言描述 分治核心:选取一个基准元素a,把数组划分成两部分: 左边所有元素 ≤ a;右边所有元素 ≥ a。 假设划分结束后,a落在数组的第 pos 位置。 如果pos == k-1:a 就是第k小元素直接返回; 如果pos > k-1:第 k 小元素一定在左半区间递归 -
第二章作业
算法思想 快速选择借鉴快速排序的划分机制:选取基准,将数组分为左右两部分,得到基准的下标 pos。 pos == k-1则直接返回 pos > k-1则递归左半区间 pos < k-1则递归右半区间,调整 k 值 只递归一侧,无需合并,无需全排序。 时间复杂度 最好情况:O(n) 每次划分均衡,总工 -
c++代码规范
类型(类、结构体、枚举、typedef 定义类型):采用大驼峰命名法。 普通变量、函数形参:支持小驼峰或下划线命名;本次课程作业统一使用小驼峰命名法,与课程示例保持一致。 类成员变量:小驼峰命名并添加 m_ 前缀,为本课程作业规定写法,方便在函数体内区分成员变量与局部变量。 常量、宏定义:字母全部大 -
第二章算法作业
一、第k小元素的分治算法 自然语言描述 算法遵循分治“分解-求解-剪枝”的思路,步骤如下: 分解(划分):在当前数组区间中选取一个基准元素(pivot),通过遍历将区间划分为三部分: 左段:所有严格小于基准的元素 中段:所有等于基准的元素 右段:所有严格大于基准的元素 同时记录左段元素个数 left -
算法第二章实践作业
一. 找第 k 小的数的分治算法(快速选择,基于快排思想) 算法思想 在数组中选一个基准元素 pivot,把数组划分成两部分:左边所有元素 ≤ pivot,右边所有元素 ≥ pivot。划分完成后,基准元素就处在它最终的有序位置。 假设基准下标为 pos: 如果 pos == k-1:pivot 就 -
20242405 2026-2027-1 《网络与系统攻防技术》实验1实验报告
20242405 2026-2027-1 《网络与系统攻防技术》实验1实验报告 1. 基础知识\ 在本次实验中,可执行文件pwn1遵循Linux下的ELF格式,其结构包含ELF头、程序头表、节头表以及.text(代码)、.data(已初始化数据)、.bss(未初始化数据)等核心节区;程序运行时的栈帧 -
20242428 2025-2026-1 《网络与系统攻防技术》实验一实验报告
20242428 2025-2026-1 《网络与系统攻防技术》实验一实验报告 1. 基础知识 1.1 ELF 文件格式 Linux 下的可执行文件采用 ELF(Executable and Linkable Format)格式,主要由 ELF 头、程序头表、节头表以及 .text、.rodata、 -
软件工程结对作业(第二次之程序实现)
FZU校园失物招领平台——结对编程博客 一、链接与分工 项目内容 内容 这个作业属于哪个课程 H202601 软件工程与软件工程实践 这个作业要求在哪里 2026秋软件工程结对作业(第二次之程序实现) 这个作业的目标 完成校园失物招领小程序的开发 学号 10240205-102401204 GitH -
2026秋软件工程结对作业(第二次之程序实现)
校园失物招领 —— 结对作业二(福州大学 2026 软件工程实践) 项目 内容 这个作业属于哪个课程 H202601 软件工程与软件工程实践(福州大学·计算机与大数据学院) 这个作业要求在哪里 2026 秋软件工程结对作业(第二次之程序实现)) 结对同学博客 颜俊宇 本作业博客 林世颖 结对成员 学