成都网站建设服务中如何获取百度总部的具体地址信息?

摘要:成都网站建制作,百度总部地址,龙岗公司网站,深圳网站建设行业新闻1. 排序的概念 排序是一种常见的算法概念,用于将一组数据按照特定的顺序进行排列。排序算法的目的是将一组数据按照递增或递减的顺序重新排列。常见的排
成都网站建制作,百度总部地址,龙岗公司网站,深圳网站建设行业新闻1. 排序的概念 排序是一种常见的算法概念#xff0c;用于将一组数据按照特定的顺序进行排列。排序算法的目的是将一组数据按照递增或递减的顺序重新排列。常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。排序算法的选择通常取决于数据规模、数据分布…1. 排序的概念 排序是一种常见的算法概念用于将一组数据按照特定的顺序进行排列。排序算法的目的是将一组数据按照递增或递减的顺序重新排列。常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。排序算法的选择通常取决于数据规模、数据分布和性能需求等因素。排序算法在计算机科学中具有非常重要的地位被广泛应用于各种领域和问题的解决中。 1.1 稳定性的概念 在排序里面有一个非常重要的概念那就是稳定性。 简单来说就是排序结束后相同的数之间的相对位置关系不会发生改变。 比如如果有一个包含学生信息的列表需要按照学生的分数进行排序但是分数相同的学生可能会有不同的其他信息比如姓名、年龄等如果排序算法是稳定的那么相同分数的学生在排序后仍然保持着原本的顺序这对于保持其他信息的相对顺序是非常有用的。 2. 常见的排序算法 以上这张图里面的就是我们接下来要实现的一些排序法。同时他们又因为不同的排序方法分为不同的类别比如说常见的插入排序直接插入排序希尔排序选择排序选择排序堆排序和交换排序快速排序冒泡排序等等。 3. 插入排序 插入排序是一种简单直观的排序算法其基本思想是将一个数据插入到已经排好序的数据序列中从而逐步构建有序序列。 3.1直接插入排序 void InsertSort(int* a, int n) {for (int i1;in;i){int end i-1;int tmp a[i];while (end 0){if (tmp a[end]){a[end 1] a[end];end--;}else{break;}a[end 1] tmp;}} } 函数接受两个参数一个是整数指针 a 表示要排序的数组另一个是整数 n 表示数组的长度。通过一个 for 循环从数组的第二个元素开始索引为 1依次将每个元素插入到已排序的部分。在每次循环中 end 表示当前要比较的位置初始值为当前元素的前一个位置还定义了一个变量 tmp 保存当前要插入的元素值。然后通过一个 while 循环只要 end 大于等于 0 并且当前要插入的元素 tmp 小于 a[end] 就将 a[end] 向后移动一位a[end 1] a[end]同时 end 向前移动一位end--。当找到合适的位置tmp a[end]时就将 tmp 插入到该位置后面a[end 1] tmp。类似于抓了一把扑克牌然后从左往右排序 直接插入排序的特性总结 1. 元素集合越接近有序直接插入排序算法的时间效率越高 2. 时间复杂度 O(N^2) 3. 空间复杂度 O(1) 它是一种稳定的排序算法 4. 稳定性稳定 3.2 希尔排序 希尔排序是一种插入排序的改进版本也称为缩小增量排序。它是由美国计算机科学家希尔Donald Shell于1959年提出的。希尔排序的基本思想是将待排序的元素分成若干个子序列对每个子序列进行插入排序然后逐步缩小子序列的长度最终整个序列变成有序。 void ShellSort(int* a, int n) {int gap n;while (gap 1){gap / 2;for (int i 0; i n - gap; i){int end i ;int tmp a[igap];while (end 0){if (tmp a[end]){a[end gap] a[end];end - gap;}else{break;}a[endgap] tmp;}}} } 首先通过一个 while 循环只要 gap 大于 1 就将 gap 不断除以 2 来调整步长。对于每次确定的 gap 值通过一个 for 循环从索引 0 开始对每隔 gap 个位置的元素进行插入排序的操作。在每次的插入排序过程中 end 为当前要比较的位置初始值为 i  tmp 保存当前要插入的元素值即 a[i gap] 。通过一个 while 循环只要 end 大于等于 0 并且当前要插入的元素 tmp 小于 a[end] 就将 a[end] 向后移动 gap 个位置a[end gap] a[end]同时 end 向前移动 gap 个位置end - gap。当找到合适的位置tmp a[end]时就将 tmp 插入到该位置后面a[end gap] tmp。
阅读全文