数据结构(5)(算法)
八、算法程序设计 数据结构 算法算法解决特定问题的步骤。1.算法的设计1)正确性语法正确合法的输入能得到合理的结果。对非法的输入给出满足要求的规格说明对精心选择甚至刁难的测试都能正常运行结果正确2)可读性便于交流阅读理解 高内聚 低耦合3)健壮性输入非法数据能进行相应的处理而不是产生异常4)高效率时间复杂度5)低存储空间复杂度6)算法空间复杂度算法执行过程中额外开辟的空间随数据量n的变化关系。O(1)O(n)7)算法时间复杂度执行这个算法所花时间的度量将数据量增长和时间增长用函数表示出来这个函数就叫做时间复杂度。一般用大O表示法On-----时间复杂度是关于数据n的一个函数随着n的增加时间复杂度增长较慢的算法时间复杂度低时间复杂度的计算规则(1)用常数1 取代运行时间中的所有加法常数(2)在修改后的运行函数中只保留最高阶项。(3)如果最高阶存在且系数不是1则去除这个项相乘的常数。Fun(int a,int b) O(1){1 Int tmp a; O1 n O1A b;B tmp;}for(i0;in; i2) O(n) n O(n){3n/2 Int tmp a;A b;B tmp; O(n}for (i 1; i n; i * 2) 1*2*2*2*2*2... n{2 ^x no(logn)}for(i0;in;i) o(nlogn){for (i 0; i n; i*2){xxx;}}for(i0;in; i) 0 1 2 ..... n-1{for(ji;jn;j) n n-1 n-2 1{Int tmp a; (n1)n/2 n^2A b;B tmp;}}O(1)O(logn)O(n)O(nlogn)O(n^2)O(n^3)O(2^n)O(n!)O(n^n)2.常用排序和查找算法1)常用排序(1)选择排序*(2)冒泡排序*(3)插入排序*(4)希尔排序(5)快速排序*2)查找算法(1)二分查找*前提条件序列必须有序时间复杂度Ologn插入排序思想将待排的数据插入到一个已有序的序列中确保每次插入之后该序列仍然有序。时间复杂度O(n^2)空间复杂度O(1)稳定性稳定的(2)希尔排序思想将待排序列根据增量划分成若干个子序列分别对这些子序列进行插入排序。时间复杂度O(nlongn)~O(n^2)空间复杂度O1稳定性不稳定void shell_sort(int *a, int len){int inc 0;int i 0, j 0, tmp 0;for (inc len/2; inc 0; inc / 2){for (i inc; i len; i){tmp a[i];j i;while (j inc tmp a[j-inc]){a[j] a[j-inc];j - inc;}a[j] tmp;}}}(3)快速排序思想选取基准值从两端向中间比较比基准值大的放在序列的右边比基准小的放在序列的左边经过一趟排序优先排好基准值。时间复杂度Onlogn空间复杂度Ologn稳定性不稳定void quick_sort(int *a, int begin, int end){if (begin end){return ;}int i begin;int j end;int key a[i];while (i j){while (i j key a[j]){--j;}a[i] a[j];while (i j key a[i]){i;}a[j] a[i];}a[i] key;quick_sort(a, i1, end);quick_sort(a, begin, i-1);}

相关新闻

ALVR 无线 VR 串流:如何 3 步把 PC 游戏送到 Quest 头显

ALVR 无线 VR 串流:如何 3 步把 PC 游戏送到 Quest 头显

ALVR 无线 VR 串流:如何 3 步把 PC 游戏送到 Quest 头显 【免费下载链接】ALVR Stream VR games from your PC to your headset via Wi-Fi 项目地址: https://gitcode.com/gh_mirrors/alvr/ALVR ALVR 是一个开源工具,它把 PC 上的 VR 游戏通过 Wi…

2026/8/22 1:47:05 阅读更多 →
自动售货机嵌入式日志系统设计:从环形缓冲区到断网补传的工程实践

自动售货机嵌入式日志系统设计:从环形缓冲区到断网补传的工程实践

在自动售货机的嵌入式开发中,日志系统往往是最后才被考虑、但出了问题最先被问责的模块。设备运行日志、交易日志、故障日志的完整性和可靠性,直接决定了运营商能否追溯争议交易、排查设备故障、优化运营策略。而日志系统的设计难点在于:嵌入…

2026/8/22 1:47:05 阅读更多 →
云手机、模拟器、真机横向对比:TikTok风控对虚拟设备检测关键

云手机、模拟器、真机横向对比:TikTok风控对虚拟设备检测关键

核心导读:如今TikTok风控早已不再只检测IP和账号资料,而是聚焦底层硬件、系统完整性、传感器数据等深层特征。很多账号限流、封禁的核心原因,并非网络问题,而是设备环境暴露虚拟特征。本文极简拆解真机、云手机、PC模拟器三类设备的风控差异,帮跨境运营规避封号风险。一、…

2026/8/22 1:46:04 阅读更多 →

最新新闻

对抗性环境下AI智能体的鲁棒性挑战与防御设计

对抗性环境下AI智能体的鲁棒性挑战与防御设计

1. 对抗性环境如何“欺骗”智能体AI:一个被忽视的系统性风险最近和几个做AI智能体(Agentic AI)落地的朋友聊天,大家不约而同地提到了一个头疼的问题:实验室里跑得飞起的智能体,一放到真实、复杂的线上环境里…

2026/8/22 5:35:05 阅读更多 →
AI代码评审如何应对动态代码库:Session管理与增量更新架构解析

AI代码评审如何应对动态代码库:Session管理与增量更新架构解析

1. 项目概述:当AI评审遇上动态代码库“AI 评审最怕的不是漏报,而是审完以后代码已经变了”——这句话最近在开发者圈子里流传开来,精准地戳中了一个正在兴起的AI应用场景的痛点。作为一名常年混迹在代码提交、合并请求和持续集成流水线里的老…

2026/8/22 5:35:05 阅读更多 →
时序数据预测实战:从特征工程到模型融合的冲击地压预警方案

时序数据预测实战:从特征工程到模型融合的冲击地压预警方案

1. 项目背景与核心任务拆解每年五月份的“五一杯”数学建模竞赛,对于很多理工科,尤其是数学、计算机、统计相关专业的学生来说,都是一场硬仗。它不像国赛那样有漫长的准备期,题目往往更贴近实际工业或社会问题,对模型的…

2026/8/22 5:35:05 阅读更多 →
Java大厂面试题库解析:高频考点与深度追问

Java大厂面试题库解析:高频考点与深度追问

1. 项目背景与核心价值 最近在帮团队筛选Java开发岗候选人时,我重新梳理了各大厂的面试题库。这份持续更新的文档包含了我从2018年至今记录的387道真实面试题,涵盖阿里、腾讯、字节等12家头部企业的技术面经。不同于网上那些零散的题目汇总,这…

2026/8/22 5:35:05 阅读更多 →
技术面试中的经典名场面与避坑指南

技术面试中的经典名场面与避坑指南

1. 面试场景中的经典名场面作为经历过数十场互联网大厂技术面试的老兵,我见过太多令人忍俊不禁的面试现场。这些真实发生的桥段,既展现了技术人可爱的另一面,也暗藏着值得深思的面试技巧。记得有位候选人在白板写算法时,突然转身问…

2026/8/22 5:35:05 阅读更多 →
NetForge RL:基于持续性动作的网络安全多智能体强化学习仿真环境

NetForge RL:基于持续性动作的网络安全多智能体强化学习仿真环境

1. 从“瞬时决策”到“持续行动”:网络安全攻防模拟的范式转变在网络安全领域,传统的自动化防御或攻击模拟工具,大多基于一个隐含的假设:动作是瞬时的。比如,一个扫描命令发出,结果立刻返回;一个…

2026/8/22 5:34:05 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/21 0:02:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/20 21:46:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →