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

济南网站建设优化百家号网页设计登录页面怎么做

济南网站建设优化百家号,网页设计登录页面怎么做,做安利能开个人网站,网站运营难做吗目录 冒泡排序插入排序选择排序快速排序Shell排序归并排序算法对比与选择 一、冒泡排序 算法原理 通过重复遍历数组,比较相邻元素并交换位置,将较大的元素逐渐“浮”到数组末尾。 核心代码 void bubble_sort(int *a, int size) {for (int i 0; i &…

目录

  1. 冒泡排序
  2. 插入排序
  3. 选择排序
  4. 快速排序
  5. Shell排序
  6. 归并排序
  7. 算法对比与选择

一、冒泡排序

算法原理

通过重复遍历数组,比较相邻元素并交换位置,将较大的元素逐渐“浮”到数组末尾。

核心代码
void bubble_sort(int *a, int size) {for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (a[j] > a[j + 1]) {int t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}}
}
时间复杂度
  • 最坏/平均:O(n²)
  • 最好(已排序):O(n)

二、插入排序

算法原理

将数组分为有序区和无序区,逐个将无序区元素插入到有序区的正确位置。

核心代码
void insert_sort(int *a, int size) {for (int i = 1; i < size; i++) {int t = a[i];int j;for (j = i - 1; j >= 0 && a[j] > t; j--) {a[j + 1] = a[j];}a[j + 1] = t;}
}
时间复杂度
  • 最坏/平均:O(n²)
  • 最好(已排序):O(n)

三、选择排序

算法原理

每次从未排序部分找到最小值,与当前起始位置交换,逐步构建有序序列。

核心代码
void sel_sort(int *a, int size) {for (int i = 0; i < size - 1; i++) {int min_idx = i;for (int j = i + 1; j < size; j++) {if (a[j] < a[min_idx]) {min_idx = j;}}if (min_idx != i) {int t = a[i];a[i] = a[min_idx];a[min_idx] = t;}}
}
时间复杂度
  • 最坏/平均/最好:O(n²)(交换次数少)

四、快速排序

算法原理

通过分治法,选择基准值(pivot),将数组分为小于和大于基准的两部分,递归排序子数组。

核心代码
void quick_sort(int *a, int start, int end) {if (start >= end) return;int i = start, j = end;int pivot = a[start]; // 基准值while (i < j) {while (i < j && a[j] >= pivot) j--;a[i] = a[j];while (i < j && a[i] <= pivot) i++;a[j] = a[i];}a[i] = pivot;quick_sort(a, start, i - 1);quick_sort(a, i + 1, end);
}
时间复杂度
  • 最坏(已排序):O(n²)
  • 平均:O(n log n)
  • 最好:O(n log n)

五、Shell排序

算法原理

通过分组插入排序,逐步减小组间距离(增量),最终实现整体排序。

核心代码
void shell_sort(int *a, int size) {for (int gap = size / 2; gap > 0; gap /= 2) {for (int i = gap; i < size; i++) {int t = a[i];int j;for (j = i; j >= gap && a[j - gap] > t; j -= gap) {a[j] = a[j - gap];}a[j] = t;}}
}
时间复杂度
  • 最坏:O(n^(1.5))
  • 平均:O(n^(1.3))
  • 改进:通过优化增量序列可进一步提升效率。

六、归并排序

算法原理

分治法将数组拆分为子数组,递归排序后合并有序子数组。

核心代码
void merge_sort(int *a, int start, int end) {if (start >= end) return;int mid = (start + end) / 2;merge_sort(a, start, mid);merge_sort(a, mid + 1, end);// 合并int *temp = (int *)malloc((end - start + 1) * sizeof(int));int i = start, j = mid + 1, k = 0;while (i <= mid && j <= end) {if (a[i] < a[j])temp[k++] = a[i++];elsetemp[k++] = a[j++];}while (i <= mid) temp[k++] = a[i++];while (j <= end) temp[k++] = a[j++];// 复制回原数组for (int t = 0; t < k; t++) {a[start + t] = temp[t];}free(temp);
}
时间复杂度
  • 最坏/平均/最好:O(n log n)
  • 空间复杂度:O(n)

七、算法对比与选择

算法时间复杂度(最坏)空间复杂度稳定性适用场景
冒泡O(n²)O(1)稳定小规模或近有序数据
插入O(n²)O(1)稳定小规模或近有序数据
选择O(n²)O(1)不稳定交换操作成本低的场景
快速O(n²)O(log n)不稳定大规模数据(平均高效)
ShellO(n^(1.5))O(1)不稳定中等规模数据优化插入排序
归并O(n log n)O(n)稳定大规模数据需稳定性时

关键点总结

  1. 稳定性:插入排序、冒泡排序、归并排序是稳定排序,而快速排序、选择排序、Shell排序不稳定。
  2. 空间换时间:归并排序通过额外空间换取更优时间复杂度。
  3. 递归与迭代:快速排序、归并排序依赖递归,Shell排序为迭代实现。


文章转载自:

http://vJhwwdNg.Ljpqy.cn
http://QQBIXulY.Ljpqy.cn
http://Y55V9pby.Ljpqy.cn
http://nBECllnB.Ljpqy.cn
http://48TBy0pl.Ljpqy.cn
http://O5B9xdQw.Ljpqy.cn
http://gIRWAijw.Ljpqy.cn
http://FksOigvb.Ljpqy.cn
http://iny3Graq.Ljpqy.cn
http://6ovDuaZ9.Ljpqy.cn
http://f30WeEDY.Ljpqy.cn
http://us6XE3jI.Ljpqy.cn
http://eHyVAZf2.Ljpqy.cn
http://oxtGuWbl.Ljpqy.cn
http://LO0vl00V.Ljpqy.cn
http://sklQNu4H.Ljpqy.cn
http://BpgSPVUx.Ljpqy.cn
http://HB67LFAb.Ljpqy.cn
http://t8qVUS2X.Ljpqy.cn
http://mhKO3Xm6.Ljpqy.cn
http://Sg5lDPIy.Ljpqy.cn
http://KIwSY0dW.Ljpqy.cn
http://15gUT62W.Ljpqy.cn
http://d4WHJo9c.Ljpqy.cn
http://dYf0oQvO.Ljpqy.cn
http://jMwZ98JN.Ljpqy.cn
http://1T0QuTyN.Ljpqy.cn
http://0ItWGExe.Ljpqy.cn
http://nZKaUbVQ.Ljpqy.cn
http://Ub3izZYx.Ljpqy.cn
http://www.dtcms.com/wzjs/628488.html

相关文章:

  • 高端旅游网站建设中国新闻社招聘2023年
  • 建站工具 ip知名设计公司logo
  • 站群系统开发安福网站建设
  • 定制网站建设公司费用redis 移动 wordpress
  • 新野网站建设o2o商城网站开发
  • 宿迁网站福州建站模板厂家
  • 网站页面素材用易语言做攻击网站软件
  • 国产成年做视频网站株洲营销型网站建设
  • 中企动力做网站多久能好雅安公司做网站
  • 谁有网站推荐一下好吗浙江省住房与城乡建设厅网站
  • 工信部网站备案名单网页制作程序书
  • 网站开发 定制怎样增加网站反向链接
  • 各大网站收录提交入口申请一个网站需要多少钱
  • 速拓科技是做网站云南省建设厅网站职称评审
  • 网站建设设计制作深圳网站设计公司费用大概多少
  • 应聘网站建设工程师网站建设进展报告
  • 彩票网站开发制作模版京东网上商城女装
  • 阿里云 外贸网站广州seo快速排名
  • 写一个公司的网络设计方案广州seo外包多少钱
  • 网站怎么做实名认证吗什么网站可以做线上邀请函
  • 云建站哪家好wordpress 发布时
  • 网站制作400哪家好网站淘宝网络营销案例分析
  • 做图剪片文案网站app接单焦作网站建设哪家好
  • 邯郸景区网站制作无水印视频素材下载免费网站
  • 外贸网站手机无人区离线地图app
  • 淘宝内部优惠券网站怎样做的福州企业宣传片制作公司
  • 怎么建立一个网站让外国人浏览建设网站最强
  • 腾讯云主机能给几个网站备案故事式软文广告300字
  • 专门做黄漫的网站曲靖手机网站建设
  • 网站备案有什么坏处长春模板网站建站