当前位置: 首页 > news >正文

暖色调网站欣赏wordpress响应式主题模板下载

暖色调网站欣赏,wordpress响应式主题模板下载,读书网站如何做,wordpress 律所目录 1. 函数原型 2. 功能描述 3. 算法原理 4. 时间复杂度 5. 空间复杂度 6. 使用示例 8. 注意事项 9. 自定义比较函数 11. 总结 nth_element 是 C 标准库中提供的一个算法#xff0c;位于 algorithm 头文件中#xff0c;用于部分排序序列。它的主要功能是将… 目录 1. 函数原型 2. 功能描述 3. 算法原理 4. 时间复杂度 5. 空间复杂度 6. 使用示例 8. 注意事项 9. 自定义比较函数 11. 总结 nth_element 是 C 标准库中提供的一个算法位于 algorithm 头文件中用于部分排序序列。它的主要功能是将序列中第 k 小的元素放到第 k 个位置上并且保证所有在它之前的元素都不大于它所有在它之后的元素都不小于它。这个算法的核心思想是基于快速排序的分区操作Quickselect。 1. 函数原型 nth_element 的函数原型如下 template class RandomIt void nth_element(RandomIt first, RandomIt nth, RandomIt last);template class RandomIt, class Compare void nth_element(RandomIt first, RandomIt nth, RandomIt last, Compare comp); first指向序列起始位置的随机访问迭代器。 nth指向序列中第 k 个位置的随机访问迭代器。 last指向序列结束位置的随机访问迭代器。 comp可选自定义比较函数默认是 std::less升序。 2. 功能描述无返回值 补充第k大对应第n-k小对应的下标为n-1-k nth_element 的功能是将序列中第 k 小对应数组下标为k-1的元素放到第 k 个位置上并且保证 所有在第 k 个位置之前的元素都不大于第 k 个位置的元素。 所有在第 k 个位置之后的元素都不小于第 k 个位置的元素。 3. 算法原理 nth_element 的实现基于快速选择算法Quickselect它是快速排序算法的一个变种。其主要步骤如下 选择支点从序列中选择一个元素作为支点pivot。 分区操作将序列分为两部分 小于等于支点的元素放在支点的左边。 大于支点的元素放在支点的右边。 递归处理 如果支点的位置恰好是 k则支点就是第 k 小的元素。 如果支点的位置小于 k则在右边的子序列中递归处理。 如果支点的位置大于 k则在左边的子序列中递归处理。 4. 时间复杂度 平均时间复杂度O(n)。 最坏时间复杂度O(n2)但这种情况很少发生可以通过随机选择支点来避免。 5. 空间复杂度 空间复杂度O(1)不考虑递归调用的栈空间。 6. 使用示例 以下是一个使用 nth_element 的示例代码用于找到一个数组中第 k 小的元素 #include iostream #include vector #include algorithmint main() {std::vectorint arr {7, 10, 4, 3, 20, 15};int k 3; // 找第 3 小的元素// 使用 nth_elementstd::nth_element(arr.begin(), arr.begin() k - 1, arr.end());// 输出第 k 小的元素std::cout 第 k 小的元素是: arr[k - 1] std::endl;return 0; } 对于上述代码输出结果为 第 3 小的元素是: 7 8. 注意事项 nth_element 不会完全排序整个序列它只保证第 k 小的元素在正确的位置上。 如果需要完全排序可以使用 std::sort。 nth_element 的性能优于完全排序std::sort 的时间复杂度为 O(nlogn)特别是在只需要找到第 k 小的元素时。 9. 自定义比较函数 如果需要根据自定义规则进行排序可以使用自定义比较函数。例如以下代码按降序找到第 k 大的元素 #include iostream #include vector #include algorithmint main() {std::vectorint arr {7, 10, 4, 3, 20, 15};int k 3; // 找第 3 大的元素// 使用 nth_element 和自定义比较函数std::nth_element(arr.begin(), arr.begin() k - 1, arr.end(), std::greaterint());// 输出第 k 大的元素std::cout 第 k 大的元素是: arr[k - 1] std::endl;return 0; } 对于上述代码输出结果为 第 3 大的元素是: 10 11. 总结 nth_element 是一个非常高效的算法适用于以下场景 需要找到序列中第 k 小或第 k 大的元素。 不需要对整个序列进行完全排序。 需要高效地处理大数据量。 收藏加关注观看不迷路
http://www.hkea.cn/news/14427608/

相关文章:

  • 360检测网站开发语言的工具asp网站幻灯片不显示
  • 帮别人做违法网站会怎么样如何制作一个收费的网页
  • 网站logo如何做链接网站开发 英语
  • 贵阳建设公司网站用jsp做网站主界面
  • 找人做网站需求怎么写建设专业网站的价格
  • 圣诞网站源码自己的公司怎么做网站
  • 建站优化全包大连华南网站制作公司
  • 做网站的问题网站服务器租用 价格
  • 做网站的电销话术推广软件工具
  • 网站建设主机类型怎么选免费招收手游代理内服号
  • 模版网站商城爱采购卖家版下载
  • 怎么做天猫内部券网站做网站的好公司
  • 工业设计公司产品外观网站站内优化
  • 网站服务器配置参考指南个人在网站怎么做
  • 长春网站公司哪家好那些做电影的网站赚钱吗
  • 个人简历电子版可填写百度公司网站seo方案
  • 网站建设的安全威胁做网站多少钱 注意什么
  • 网上教学网站建设盘锦公司做网站
  • 精美手机网站模板境外网站网站有哪些
  • php购物网站开发成品酒店网页设计模板图片
  • 阿里云服务器责任怎么做网站网站深圳
  • 响应网站建设做自己的博客网站
  • 帮企业做网站西安网站开发培训多少钱
  • 公司做网站合同公司部门解散调岗不同意有赔偿吗
  • 中专网站建设课程域名申请哪家好
  • 网站建设公司汕头的网站做支付需要什么备案
  • 爱情网站设计网站建设上传宝贝xamp
  • 网站不能自行备案吗视频一般都是上传到WordPress吗
  • 网站推广专员面试html怎么设置网站吗
  • 山东网站建设优化网站建设制作模板网站怎么做