湖南网站推广建设公司自己怎么做游戏推广赚钱

张小明 2026/1/19 20:54:19
湖南网站推广建设公司,自己怎么做游戏推广赚钱,qq企业邮箱怎么开通注册,会展设计是什么一、希尔排序 算法逻辑 希尔排序采用“增量分组插入排序”的策略。初始时设定一个增量#xff08;通常为数组长度的一半#xff09;#xff0c;将相隔该增量的元素组成一个子序列#xff0c;对每个子序列进行直接插入排序#xff1b;然后逐步缩小增量#xff08;如每次除…一、希尔排序算法逻辑希尔排序采用“增量分组插入排序”的策略。初始时设定一个增量通常为数组长度的一半将相隔该增量的元素组成一个子序列对每个子序列进行直接插入排序然后逐步缩小增量如每次除以2重复分组和排序过程直到增量减为1最后进行一次直接插入排序完成整体有序。代码实现中外层循环控制增量变化从n//2逐渐减至1内层循环对每个子序列执行插入排序操作。由于前期通过较大增量快速调整元素位置避免了小元素远距离移动提高了效率。defshell_sort(arr):nlen(arr)gapn//2# 初始增量whilegap0:foriinrange(gap,n):temparr[i]ji# 对相隔gap的元素进行插入排序whilejgapandarr[j-gap]temp:arr[j]arr[j-gap]j-gap arr[j]temp gap//2# 缩小增量returnarr算法特性稳定性不稳定。因为相同元素可能被分在不同子序列中排序后相对位置可能发生改变。时间复杂度取决于增量序列的选择常见情形下约为 $ O(n^{1.3}) $最坏可达 $ O(n^2) $但平均性能优于直接插入排序。空间复杂度$ O(1) $仅使用常数个辅助变量。二、快速排序基本思想基于分治法选择一个基准元素枢轴 pivot将序列划分为两个子序列——左子序列所有元素 ≤ pivot右子序列所有元素 ≥ pivot再递归地对左右两部分进行快排最终使整个序列有序。划分过程Partition详解以data[low]作为 pivot设置两个指针i low从左向右找大于 pivot 的元素j high从右向左找小于 pivot 的元素步骤如下将 pivot 暂存为temp data[low]当i j时循环j向前移动直到找到第一个 temp的元素将其赋值给data[i]i向后移动直到找到第一个 temp的元素将其赋值给data[j]直到i j此时将temp放入data[i]pivot 归位defpartition(arr,low,high):pivotarr[low]i,jlow,highwhileij:whileijandarr[j]pivot:j-1ifij:arr[i]arr[j]whileijandarr[i]pivot:i1ifij:arr[j]arr[i]arr[i]pivotreturnidefquick_sort(arr,low,high):iflowhigh:pipartition(arr,low,high)quick_sort(arr,low,pi-1)quick_sort(arr,pi1,high)算法特性稳定性不稳定交换过程中相同元素顺序可能被打乱时间复杂度平均 $ O(n \log n) $最坏 $ O(n^2) $已有序时退化空间复杂度$ O(\log n) $递归调用栈深度希尔排序的性能在很大程度上依赖于所采用的增量序列gap sequence。不同的增量序列会显著影响排序的比较和移动次数从而改变其实际运行效率。一、常见的增量序列Shell 原始序列最原始增量公式$ d_k \left\lfloor \frac{n}{2^k} \right\rfloor $每次除以 2示例n88 → 4 → 2 → 1特点简单直观但性能一般最坏时间复杂度为 $ O(n^2) $Knuth 序列增量公式$ d_k \frac{3^k - 1}{2} $从大到小取不超过 n 的值示例1, 4, 13, 40, 121, …实际使用时逆序应用如对长度为100的数组用 40 → 13 → 4 → 1时间复杂度约为 $ O(n^{1.5}) $是较优的选择之一被广泛推荐Hibbard 序列增量公式$ 2^k - 1 $即 1, 3, 7, 15, 31, …可证明最坏情况时间复杂度为 $ O(n^{3/2}) $对某些数据分布表现良好Sedgewick 序列定义复杂形式为1, 5, 9, 17, 29, 77, … 有多种构造方式例如$ { \max(2^i \cdot 3^j) n } $ 或特定公式生成经实验验证具有非常好的平均性能时间复杂度接近 $ O(n^{4/3}) $被认为是实践中最优的增量序列之一Ciura 序列经验序列预定义的经验值1, 4, 10, 23, 57, 132, 301, 701, …不基于数学公式而是通过大量实验优化得出在实际应用中表现极佳常用于现代实现中二、不同增量序列对性能的影响增量序列最坏时间复杂度平均性能说明Shell 原始÷2$ O(n^2) $较差当相邻元素分布在不同组时效率低易退化Knuth$ O(n^{1.5}) $中等偏上结构合理适合教学与一般用途Hibbard$ O(n^{3/2}) $较好理论保障较好避免部分退化情况Sedgewick$ O(n^{4/3}) $很好实验性能优秀适合高性能需求场景Ciura经验未知但非常快极佳当前公认最快的实用序列⚠️ 注意所有增量序列都必须保证最后一个增量为 1以确保最终进行一次完整的插入排序使数组完全有序。三、代码示例使用 Knuth 序列defshell_sort_knuth(arr):nlen(arr)# 生成 Knuth 增量序列(3^k - 1)/2 ngap1while(3*gap1)n:gap3*gap1# 得到最大的小于 n 的 Knuth 数whilegap1:foriinrange(gap,n):temparr[i]jiwhilejgapandarr[j-gap]temp:arr[j]arr[j-gap]j-gap arr[j]temp gap//3# 回退到前一个 Knuth 数returnarr总结增量序列决定了希尔排序的分组策略更科学的序列如 Ciura、Sedgewick能大幅提高效率教学中常用 Shell 原始序列或 Knuth 序列实际工程中建议使用 Ciura 等经验序列以获得最佳性能。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

北京网站制作网络推广公司办公空间设计说明300字

OpenVINO静态批处理实战指南:5步实现AI推理吞吐量3倍提升 【免费下载链接】openvino openvino: 是Intel开发的一个开源工具包,用于优化和部署AI推理,支持多种硬件平台。 项目地址: https://gitcode.com/GitHub_Trending/op/openvino O…

张小明 2026/1/17 16:39:01 网站建设

个人博客网站制作论文电子商务网站开发教程论文

EmotiVoice语音多样性评测:同一文本生成多种风格的能力验证 在虚拟偶像深情献唱、游戏NPC因玩家行为而愤怒咆哮的今天,我们对“机器说话”的期待早已超越了清晰发音的基本要求。用户不再满足于一个只会用平直语调朗读文字的语音助手——他们想要的是能共…

张小明 2026/1/17 16:39:02 网站建设

外贸看的英文网站贵州省住房和城乡建设厅官网站首页

TabNet复现:可解释性表格模型TensorFlow实现 在金融风控、医疗诊断和工业预测等关键场景中,AI模型不仅要“算得准”,更要“说得清”。一个拒绝贷款申请的决定如果无法解释原因,即便准确率高达95%,也难以通过合规审查或…

张小明 2026/1/17 16:39:01 网站建设

济源市住房和城乡建设局网站公示网页美工设计需求说明

首先作为一位有3年从业经验、从零自学上岸的大模型算法工程师,3年前,我也和很多朋友一样,对LLM充满好奇但不知从何入手。非科班出身,靠着系统规划和大量实践,从零基础自学,一步步成长为一名大模型算法工程师…

张小明 2026/1/17 16:39:03 网站建设

网站开发语言用到网站建设合作加盟

YOLO模型参数量对比分析:小模型也能有大作为 在工业质检线上,一帧图像的处理时间超过10毫秒,就可能造成产线停摆;在无人机巡检中,每增加一瓦时的功耗,续航便缩短数分钟。这些现实场景不断向AI算法发问&…

张小明 2026/1/17 16:39:04 网站建设

网站模板为什么不好网站制作教程下载

3大核心场景深度解析:用Dify工作流构建企业级智能应用 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-…

张小明 2026/1/17 16:39:05 网站建设