常见排序算法以及其时间复杂度

简介: 常见排序算法以及其时间复杂度

冒泡算法:时间复杂度O(n^2)、比较稳定

void Sub_1()
{
  /*使用双for循环,然后第一个for循环确定遍历次数
  第二个for循环来进行比较,进行转换*/
  int v1[5] = { 1,4,3,2,6 };
  int i, j;
  for (i = 0; i < (sizeof(v1) / sizeof(int)); i++)
  {
    for (j = i + 1; j < (sizeof(v1) / sizeof(int)); j++)
    {
      if (v1[i] > v1[j])//当前是否大于它后面的那些元素,如果大,则换到后面
      {
        //1 4 3 2 6
        //1 3 4 2 6
        //1 2 4 3 6
        //1 2 3 4 6
        swap(v1[i], v1[j]);//交换两数位置
      }
    }
  }
}

选择排序:时间复杂度O(n^2) 、不稳定


void Sub_2()
{
  int v1[5] = { 1,4,3,2,6 };
  int Length = sizeof(v1) / sizeof(int);
  int Index; 
  for (int i = 0; i < Length - 1; i++)
  {
    Index = i;
    for (int j = i + 1; j < Length; j++)
    {
      if (v1[j] < v1[Index])
      {
        Index = j;//确保每次Index得到的索引是最小的数据
      }
    }
    if (v1[Index] < v1[i])
    {
      swap(v1[i], v1[Index]);
    }
  }
}

…待继续更新

目录
相关文章
|
1月前
|
机器学习/深度学习 存储 缓存
数据结构从入门到精通——算法的时间复杂度和空间复杂度
算法的时间复杂度和空间复杂度是评估算法性能的两个重要指标。时间复杂度主要关注算法执行过程中所需的时间随输入规模的变化情况,而空间复杂度则关注算法执行过程中所需的最大存储空间或内存空间。
137 0
|
1月前
|
机器学习/深度学习 算法 存储
[数据结构]——算法的时间复杂度和空间复杂度
[数据结构]——算法的时间复杂度和空间复杂度
|
1月前
|
机器学习/深度学习 算法
【软件设计师】通俗易懂的去了解算法的时间复杂度
【软件设计师】通俗易懂的去了解算法的时间复杂度
|
15天前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-2
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
15天前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-1
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
24天前
|
存储 算法 C语言
数据结构和算法学习记录——初识 数据结构和算法&时间复杂度
数据结构和算法学习记录——初识 数据结构和算法&时间复杂度
15 4
|
24天前
|
算法
数据结构和算法学习记录——时间复杂度、空间复杂度相关练习题
数据结构和算法学习记录——时间复杂度、空间复杂度相关练习题
13 2
|
24天前
|
算法
数据结构和算法学习记录——时间复杂度的计算(嵌套循环、大O的渐进表示法、双重循环、常数循环、strchr、冒泡排序、二分查找、斐波那契数列递归)
数据结构和算法学习记录——时间复杂度的计算(嵌套循环、大O的渐进表示法、双重循环、常数循环、strchr、冒泡排序、二分查找、斐波那契数列递归)
32 1
|
1月前
|
算法
说说你对算法中时间复杂度,空间复杂度的理解?如何计算?
该文介绍了算法的基本概念,强调了时间和空间复杂度在衡量算法效率中的重要性。时间复杂度表示算法执行时间与输入规模的增长关系,常用大O符号表示,如O(1), O(log n), O(n), O(nlogn), O(n^2)等。文章指出,最坏情况下的时间复杂度是评估算法性能的上限,并且在实际应用中需要在时间与空间之间找到平衡。
|
23天前
|
存储 算法 C语言
数据结构和算法——堆排序(选择排序、思路图解、代码、时间复杂度、堆排序及代码)
数据结构和算法——堆排序(选择排序、思路图解、代码、时间复杂度、堆排序及代码)
14 0