-
第二章实践作业
找第k小的数的分治算法 一、算法描述 给定一个无序数组A和整数k,找出数组中第k小的元素。采用分治思想,核心是快速选择算法。 自然语言描述: 分解:从数组A中选择一个基准元素pivot。 划分:将数组重新排列,使得小于pivot的元素在左边,等于pivot的元素在中间,大于pivot的元素在右边。 -
我的第二章作业学习
一、分治算法描述(快速选择找第k小) 自然语言描述 本算法基于快速排序的划分思想,采用分治策略实现平均O(n)复杂度查找第k小数: 划分(partition):在当前数组区间[left,right]选取基准元素pivot,将区间划分成两部分:左侧所有元素≤pivot,右侧所有元素≥pivot;划分完 -
第二章作业
1.算法描述 找第k小的数的分治算法基于快速选择思想,但每次只递归处理包含第k小元素的那一侧。 ①在数组中选取一个基准元素,将数组划分为两部分:左侧元素都小于基准,右侧元素都大于基准,计算基准元素的位次。 ②若k恰好等于基准位次,直接返回基准元素; 若k小于基准位次,说明目标元素在左半区间,递归在左 -
第二章
想找第k小的数,可以用快速选择算法。先从数组里随便挑一个数当基准值pivot,然后调整数组,让比它小的都跑到左边,比它大的都跑到右边。具体做的时候,可以用两个指针从数组两头往中间扫,遇到不合适的就交换,直到这一轮划分完成。这时候pivot会落在数组里的某个确定位置p,如果这个位置p刚好就是第k小,那 -
第二章作业
1,先在当前数组区间选一个基准值P,调用函数,把区间分成两部分:左边所有元素 ≤ pivot,右边所有元素 ≥ P。基准落到最终正确位置。 在计算左区间元素数量len = K-left+1: 如果len == k:基准就是第 k 小元素,直接返回。 当len > k:第 k 小在左半边,递归处理左区 -
算法第二章实践作业
1.分治法找第k小的数 自然语言描述: 在当前数组区间中选一个枢轴元素 pivot。 将区间划分为三部分: L:所有小于 pivot 的元素; E:所有等于 pivot 的元素; R:所有大于 pivot 的元素。 设 |L| 表示 L 中元素个数,|E| 表示 E 中元素个数。 判断第 k 小在哪 -
第二章作业
一、用伪代码描述找第 k 小的数的分治算法 找第 k 小的数,基本思路其实是从快速排序那里"偷"来的:快排每次选一个基准元素 pivot,把数组分成两半,左边都比 pivot 小,右边都比 pivot 大。那我们划分完之后看一眼 pivot 排在了第几位(记为 p,从 1 开始数): 如果 p 正好 -
C++代码规范
基本原则 统一使用项目规定的 C++ 标准,建议 C++17 或更高版本。 开启编译器警告并及时处理,代码优先保证清晰、可维护。 命名 类型、类、枚举使用 PascalCase;变量、函数、命名空间使用 snake_case。 成员变量使用尾部下划线,如 count_;常量使用 kPascalCas -
第二章实践作业
一、分治算法(快速选择) 选基准pivot划分数组,小于等于pivot放左边,大于放右边。判断基准在当前区间的位次: 1.位次=k:直接返回pivot; 2.位次>k:递归左区间找第k小; 3.位次<k:递归右区间,找第(k - 位次)小。 二、时间复杂度 最好:O(n),每次划分均匀,总工作量是n -
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小元素的分治算法 自然语言描述 算法遵循分治“分解-求解-剪枝”的思路,步骤如下: 分解(划分):在当前数组区间中选取一个基准元素(pivot),通过遍历将区间划分为三部分: 左段:所有严格小于基准的元素 中段:所有等于基准的元素 右段:所有严格大于基准的元素 同时记录左段元素个数 left -
c++代码规范
类型(类、结构体、枚举、typedef 定义类型):采用大驼峰命名法。 普通变量、函数形参:支持小驼峰或下划线命名;本次课程作业统一使用小驼峰命名法,与课程示例保持一致。 类成员变量:小驼峰命名并添加 m_ 前缀,为本课程作业规定写法,方便在函数体内区分成员变量与局部变量。 常量、宏定义:字母全部大 -
20242313 2026-2027-1 《网络与系统攻防技术》实验二实验报告
20242313 《网络与系统攻防技术》实验二实验报告 学号:20242313 姓名:曾海鹏 主机名:zenghaipeng 1. 基础知识 本次实验用到的基础知识总结如下: 1.1 netcat(nc/ncat) netcat是网络工具里的"瑞士军刀",能在两台机器之间建立TCP连接并传输数据。最 -
20242428 2025-2026-1 《网络与系统攻防技术》实验一实验报告
20242428 2025-2026-1 《网络与系统攻防技术》实验一实验报告 1. 基础知识 1.1 ELF 文件格式 Linux 下的可执行文件采用 ELF(Executable and Linkable Format)格式,主要由 ELF 头、程序头表、节头表以及 .text、.rodata、 -
20242405 2026-2027-1 《网络与系统攻防技术》实验1实验报告
20242405 2026-2027-1 《网络与系统攻防技术》实验1实验报告 1. 基础知识\ 在本次实验中,可执行文件pwn1遵循Linux下的ELF格式,其结构包含ELF头、程序头表、节头表以及.text(代码)、.data(已初始化数据)、.bss(未初始化数据)等核心节区;程序运行时的栈帧 -
软件工程第二次结对作业
从原型到程序:校园拾光——第二次结对编程作业 项目 内容 所属课程 2026 软件工程与软件工程实践 作业要求 第二次结对作业:程序实现 本人 052402234 郭泽强 · 个人博客 结对同学 032401339 沈冠宇 · 队友博客 GitHub 主仓库 monkery-king-nice/05 -
2026秋软件工程结对作业(第二次之程序实现)
2026秋软件工程结对作业(第二次之程序实现)——校园失物招领 项目 内容 这个作业属于哪个课程 H202601软件工程与软件工程实践 这个作业要求在哪里 2026秋软件工程结对作业(第二次之程序实现) 结对同学博客 丘南星的博客 本人博客 陈嘉俊的博客 GitHub 项目地址 102401422- -
2026秋软件工程结对作业(第二次之程序实现)
校园失物招领 —— 结对作业二(福州大学 2026 软件工程实践) 项目 内容 这个作业属于哪个课程 H202601 软件工程与软件工程实践(福州大学·计算机与大数据学院) 这个作业要求在哪里 2026 秋软件工程结对作业(第二次之程序实现)) 结对同学博客 颜俊宇 本作业博客 林世颖 结对成员 学 -
小程序二番战
1. 项目信息与个人分工 项目 内容 项目名称 拾光 · 校园寻物 项目负责人 我自己 本人博客 https://home.cnblogs.com/u/boluoyellow 本次作业文章 https://www.cnblogs.com/boluoyellow/p/23256857 网页版仓库 bo