零回复 | 有回复 | 作业 | 其他 | 所有
  • 算法第二章实践作业

    1.用自然语言或伪代码描述找第k小的数的分治算法 答:从给定的一组数字中随机找一个数作为基准,把比这个数小的数字放在这个数左侧,比这个数大的数字放在这个数的右侧。假设排好后左边有n个数字,那么当前基准数就是数组中第n+1小的数。比较n+1与k,若n+1=k,那么直接返回n+1,如果n+1<k,从当前
    计算机2504(广东外语外贸大学)  林靖杰  2026-10-13 22:07   0   5
  • 算法第二章实践作业

    1.分治法找第k小的数 自然语言描述: 在当前数组区间中选一个枢轴元素 pivot。 将区间划分为三部分: L:所有小于 pivot 的元素; E:所有等于 pivot 的元素; R:所有大于 pivot 的元素。 设 |L| 表示 L 中元素个数,|E| 表示 E 中元素个数。 判断第 k 小在哪
    计算机2504(广东外语外贸大学)  Ppai羊  2026-10-13 22:03   0   5
  • 20242312 2026-2027-1 《网络与系统攻防技术》实验2实验报告

    20242312 2026-2027-1 《网络与系统攻防技术》实验2实验报告 实验名称:后门原理与实践 1.基础知识 后门(Backdoor)指的是绕过正常认证、能长期、隐蔽地控制目标主机的一类程序或功能。它和我们常说的木马本质上是一回事:木马是"人",后门是"人进来的那扇暗门"。这次实验做的所有
  • 第二章作业

    一、用伪代码描述找第 k 小的数的分治算法 找第 k 小的数,基本思路其实是从快速排序那里"偷"来的:快排每次选一个基准元素 pivot,把数组分成两半,左边都比 pivot 小,右边都比 pivot 大。那我们划分完之后看一眼 pivot 排在了第几位(记为 p,从 1 开始数): 如果 p 正好
    计算机2502(广东外语外贸大学)  ww02ww  2026-10-13 21:53   0   4
  • 第二章作业

    自然语言描述: 在数组 A[l..r]中找第 k 小的数: 若区间只有一个元素,直接返回它。 选择一个枢轴元素 pivot。 将区间划分为三部分:小于 pivot、等于 pivot、大于 pivot。 设小于 pivot 的元素个数为 less,等于 pivot 的个数为 equal。 若 k≤le
    计算机2502(广东外语外贸大学)  行了吧  2026-10-13 21:39   0   3
  • 第二章作业|第K小数

    1.第K小数算法描述 找到第K小的数最直接的方法就是直接排好序去找,用上最快的排序方法时间复杂度位O(nlogn) 我们发现可以利用快速排序的思路,因为我们不需要全部排好序,只需要让下标为k-1的那个位置上的数是正确的,它左边所有数都≤它,右边所有数都≥它,最后返回它。快速排序就是先排好一个数的位置
    计算机2502(广东外语外贸大学)  Zero09  2026-10-13 21:39   0   5
  • 算法第二章实践作业

    (1)分治法:找第 k 小的数 自然语言描述: 1.选取一个基准元素pivot,调用划分函数把数组分为两部分:左区间全部≤pivot,右区间全部≥pivot,得到基准所在下标。 2.统计左区间元素数量cnt: ·如果cnt == k,基准就是第 k 小元素,直接返回; ·如果k < cnt,说明第
    计算机2504(广东外语外贸大学)  赐予秋  2026-10-13 21:34   0   11
  • 第二章找第k小分治法作业

    分治法求无序数组中的第 k 小元素 一、问题描述 给定一个无序整数数组 a 和一个整数 k,要求找出数组中按从小到大排序后的第 k 个元素。 例如,数组为: text 7 2 9 4 1 6 将它升序排列后是: text 1 2 4 6 7 9 因此,第 3 小的元素是 4。 最直接的方法是先对数组
    计算机2504(广东外语外贸大学)  梁弘皞  2026-10-13 21:18   0   5
  • 第二章实践作业

    一、分治算法(快速选择) 选基准pivot划分数组,小于等于pivot放左边,大于放右边。判断基准在当前区间的位次: 1.位次=k:直接返回pivot; 2.位次>k:递归左区间找第k小; 3.位次<k:递归右区间,找第(k - 位次)小。 二、时间复杂度 最好:O(n),每次划分均匀,总工作量是n
    计算机2502(广东外语外贸大学)  (=  2026-10-13 21:16   0   5
  • 算法第二章实践作业

    找第 k 小数分治算法 采用快速选择思路。选取数组一个基准值,将数组划分,左侧元素小于等于基准,右侧大于基准。得到基准在当前区间的次序。若次序等于 k,基准就是答案;若 k 更小,递归在左区间查找;k 更大则在右区间查找,减去左侧元素个数。 复杂度 最好时间复杂度 O (n),每次划分均匀,每次只处
    计算机2504(广东外语外贸大学)  cengjingqijiexiaohua  2026-10-13 21:06   0   2
  • 20242411 2026-2027-1 《网络与系统攻防技术》实验二实验报告

    20242411 2026-2027-1 《网络与系统攻防技术》实验二实验报告一、基础知识1.1 后门与反向连接后门是绕过正常认证或交互流程、为后续访问提供隐蔽通道的程序或机制。后门可能通过恶意软件、钓鱼、被篡改的软件包、弱口令服务或漏洞利用进入系统。反向连接模式由目标主机主动连接控制端,通常可以减
  • 分治法求第k小元素

    分治法实战:寻找第 k 小的数 —— 算法描述、复杂度分析与分治思想漫谈 前言 "在一个无序数组中找出第 k 小的数"是算法课和面试中的经典问题。最直观的想法是先排序再取下标,时间复杂度为 $O(n \log n)$。但借助分治法,我们可以把平均时间复杂度降到 $O(n)$——这就是本文的主角 快速
    计算机2504(广东外语外贸大学)  Heassw  2026-10-13 20:46   0   10
  • C++编码规范实践指南

    C++ 编码规范:写出可维护、可协作的现代 C++ 代码 前言 C++ 是一门强大而复杂的语言,它给予开发者极大的自由,但自由往往意味着风险:同一个功能可以有一万种写法,其中九千种会给后来者(包括三个月后的自己)挖坑。编码规范的意义不在于束缚,而在于降低沟通成本、减少低级错误、让团队协作成为可能。
    计算机2504(广东外语外贸大学)  Heassw  2026-10-13 20:45   0   12
  • C++代码规范

    基本原则 统一使用项目规定的 C++ 标准,建议 C++17 或更高版本。 开启编译器警告并及时处理,代码优先保证清晰、可维护。 命名 类型、类、枚举使用 PascalCase;变量、函数、命名空间使用 snake_case。 成员变量使用尾部下划线,如 count_;常量使用 kPascalCas
    计算机2504(广东外语外贸大学)  言语123  2026-10-13 20:43   0   9
  • 算法第二章实践作业

    (1)请用自然语言或伪代码描述找第k小的数的分治算法 前置:定义一个无序数组a[1…n],其中1<=k<=n; 在当前区间l到r选一个基准元素x; 对区间划分:把<x的元素放左边,>x的元素放右边,通过partition()函数实现,实现分治两侧; 算出此时x在当前区间中升序的排名为m,确定为该数组
    计算机2502(广东外语外贸大学)  星火燎原191  2026-10-13 20:29   0   5
  • 算法第二章实践作业——第 k 小元素的分治算法

    算法第二章实践作业——第 k 小元素的分治算法 一、请用自然语言或伪代码描述找第 k 小的数的分治算法 1. 问题描述 给定一个包含 n 个整数的无序数组,以及一个整数 k(1 ≤ k ≤ n),要求找出数组中第 k 小的元素。 例如: 数组 A = [7, 2, 9, 4, 1, 6, 3],k
    计算机2504(广东外语外贸大学)  龚培予  2026-10-13 20:26   0   5
  • 算法第二章实践作业

    找第 k 小数的分治算法通常称为快速选择,本质是快速排序划分思想的“减治”版本。 核心步骤: 在数组 A[l..r] 中选一个枢轴 pivot; 进行划分,使左边元素 ≤ pivot,右边元素 ≥ pivot; 设枢轴最终位置为 p,左半部分加枢轴共有 leftSize = p - l + 1 个元
    计算机2502(广东外语外贸大学)  罗嘉惠  2026-10-13 20:22   0   5
  • 找第k小的数——分治算法的一次实践与思考

    找第k小的数——分治算法的一次实践与思考 一、问题背景 这周算法课讲分治法,老师布置了这道题:用分治的思想找出一组数中第k小的数。乍一看好像不难,排个序取第k个就行了,但那样是O(nlogn),而分治可以做到平均O(n)。这个差距还是挺吸引人的,所以我想认真梳理一下。 二、算法描述 找第k小的数,分
    计算机2504(广东外语外贸大学)  溯洄2504  2026-10-13 20:19   0   6
  • 第二章作业

    快速选择算法 从当前子数组选定一个基准元素,完成分区操作,使得基准左侧元素均小于等于基准,右侧元素均大于等于基准,确定基准的位置。判断基准在当前子区间的次序:若基准正好是区间内第 k 小元素,直接返回;若目标 k 小于该次序,则在左区间递归搜索第 k 小;若目标 k 大于该次序,则丢弃左区间,在右区
    计算机2502(广东外语外贸大学)  端木落月mc  2026-10-13 20:14   0   5
  • 算法第二章实践作业

    1.用自然语言描述找第k小的数的分治算法: 从一堆数里随便挑一个数当“基准”。然后把所有数分成三堆:比基准小的、和基准一样大的、比基准大的。数一数“比基准小”的那堆有几个数, 如果k不超过这堆的个数,说明第k小的数就在“小的那堆”里,那就只去那堆继续找第k小。 如果k比这堆多,但没超过“小的个数 +
    计算机2502(广东外语外贸大学)  郑海滨  2026-10-13 20:06   0   4