-
第二章作业|第K小数
1.第K小数算法描述 找到第K小的数最直接的方法就是直接排好序去找,用上最快的排序方法时间复杂度位O(nlogn) 我们发现可以利用快速排序的思路,因为我们不需要全部排好序,只需要让下标为k-1的那个位置上的数是正确的,它左边所有数都≤它,右边所有数都≥它,最后返回它。快速排序就是先排好一个数的位置 -
算法第二章实践作业
找第 k 小数的分治算法通常称为快速选择,本质是快速排序划分思想的“减治”版本。 核心步骤: 在数组 A[l..r] 中选一个枢轴 pivot; 进行划分,使左边元素 ≤ pivot,右边元素 ≥ pivot; 设枢轴最终位置为 p,左半部分加枢轴共有 leftSize = p - l + 1 个元 -
算法第二章作业
一. 自然语言描述 算法遵循分治法「分解→解决→合并」的核心框架,具体步骤如下: 1.分解:在当前数组区间中选取一个基准元素(pivot),通过分区操作将数组划分为两部分:左侧所有元素 ≤ 基准,右侧所有元素 ≥ 基准,最终得到基准元素在整个数组中的确定位置 pivot_idx。 2.解决:根据基准 -
分治法学习
算法描述 分治思想:先选取基准对数组划分,将比基准小的放左边、大的放右边,得到基准的最终位置。对比基准位置与k:若基准就是第k小元素直接返回;若k在左侧,则只递归左半部分查找;若k在右侧,则递归右半部分查找,缩减k值,直到找到答案。 先将问题拆分成多个小问题,各自解答后汇总得出最后答案。 复杂度 最 -
数据采集第一次作业
作业①:Python 网页请求基础实验 1)网页获取实验 实验代码: # 导入所需依赖库 import requests from bs4 import BeautifulSoup import re def crawl_university_ranking(): # 题目给定的目标页面地址 tar -
算法第二章实践作业
找第k小的数的分治算法描述 自然语言描述: 采用类似快速排序的划分思想(Quickselect算法)。从数组中选择一个基准元素,将数组划分为两部分:小于等于基准的元素在左,大于基准的元素在右。此时基准元素的下标即为它在排序后数组中的最终位置。若该位置恰好等于k,则找到答案;若位置大于k,在左半部分递 -
软工第二次结对作业
2026秋软件工程个人作业(第四次)——校园失物招领(结对编程) 项目 内容 这个作业属于哪个课程 2026秋软件工程与软件工程实践 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareE -
高级语言程序设计
高级语言程序第一次作业 班级的链接:https://edu.cnblogs.com/campus/fzu/2026gjyycxsj 作业要求的链接:https://edu.cnblogs.com/campus/fzu/2026gjyycxsj/homework/16747> 姓名:庄榕熙 学号:01 -
算法第二章实践作业
找第 k 小数分治算法 采用快速选择思路。选取数组一个基准值,将数组划分,左侧元素小于等于基准,右侧大于基准。得到基准在当前区间的次序。若次序等于 k,基准就是答案;若 k 更小,递归在左区间查找;k 更大则在右区间查找,减去左侧元素个数。 复杂度 最好时间复杂度 O (n),每次划分均匀,每次只处 -
第二章找第k小分治法作业
分治法求无序数组中的第 k 小元素 一、问题描述 给定一个无序整数数组 a 和一个整数 k,要求找出数组中按从小到大排序后的第 k 个元素。 例如,数组为: text 7 2 9 4 1 6 将它升序排列后是: text 1 2 4 6 7 9 因此,第 3 小的元素是 4。 最直接的方法是先对数组 -
我的C++代码规范
C++编程规范 一、前言 C++是计算机专业常用的编程语言,在程序设计、数据结构和算法课程中都有广泛应用。编写程序不仅要保证结果正确,还需要注意代码的可读性、运行效率和可维护性。 结合大二算法课程的学习内容,以及企业软件开发中的基本要求,制定以下C++编程规范,帮助养成良好的编程习惯。 二、命名规范 -
第一次作业:三个定向爬虫的完整实现
第一次作业:三个定向爬虫的完整实现 学号:102402120 姓名:陈睿涛 一、作业①:定向爬取软科 2020 中国大学排名 (1) 作业代码与运行结果 题目要求 用 requests 和 BeautifulSoup 库方法定向爬取给定网址 http://www.shanghairanking.cn