• 2024-10-06排序
    排序的定义排序就是重新排列表中的元素,使表中的元素满足关键字有序的过程算法的稳定性:若待排序表中有两个元素相等,经过排序后原来位置这两个元素的相对位置不变,则称这个算法是稳定的根据在排序过程中数据元素是否完全放在内存中,可以将排序算法分为两类:内部排序和外部排序。内部
  • 2024-09-12算法 - 课程笔记
    调度问题插入排序分治法分治法是将原问题划分为多个规模较小的子问题,这些子问题可以独立求解,将子问题的解进行综合得到原问题的解。算法设计一般使用递归算法,算法分析一般使用递归表达式。归并排序归并排序,就是分组再合并,将一个数组等分为左右两个子数组,然后再使用
  • 2024-09-03【数据结构与算法】:十大经典排序算法
    文章目录前言一、冒泡排序(BubbleSort)1.1冒泡排序原理1.2冒泡排序代码1.3输出结果二、选择排序(SelectionSort)2.1选择排序原理2.2选择排序代码2.3输出结果三、插入排序(InsertionSort)3.1插入排序原理3.2插入排序代码3.3输出结果四、希尔排序4.1希尔排序原
  • 2024-01-16C++U3-第10课-排序进阶(归并、快排)
    归并排序是一种经典的排序算法,适用于各种不同场景和数据类型的排序需求。它具有以下使用背景和优势:通用性:归并排序适用于各种不同类型的数据结构和数据类型,包括数组、链表、字符串等。它可以对任意长度的序列进行排序。稳定性:归并排序是一种稳定的排序算法,即在排序过程中相
  • 2023-12-27算法学习笔记六一topk问题
    目录什么是topk问题解决方法代码示例(堆排序)什么是topk问题Top-k问题是指在一个元素集合中找出前k个最大或最小的元素。这个问题在很多实际场景中都有应用,例如在大数据处理中获取最大的k个元素、搜索引擎中的搜索结果排序等。解决方法堆排序:使用最小堆或最大堆来解决To
  • 2023-09-27文心一言 VS 讯飞星火 VS chatgpt (97)-- 算法导论9.3 3题
    三、用go语言,假设所有元素都是互异的,说明在最坏情况下,如何才能使快速排序的运行时间为O(nlgn)。文心一言:快速排序是一种基于分治策略的排序算法,其平均时间复杂度为O(nlgn)。在最坏情况下,快速排序的时间复杂度为O(n^2),这是因为当输入数组已经排序或接近排序时,快速排序的性能会退化。
  • 2023-09-21文心一言 VS 讯飞星火 VS chatgpt (97)-- 算法导论9.3 3题
    三、用go语言,假设所有元素都是互异的,说明在最坏情况下,如何才能使快速排序的运行时间为O(nlgn)。文心一言:快速排序是一种基于分治策略的排序算法,其平均时间复杂度为O(nlgn)。在最坏情况下,快速排序的时间复杂度为O(n^2),这是因为当输入数组已经排序或接近排序时,快速排序的性能会退
  • 2023-07-173ds max高级教程:创建带有骨骼动画的机器人模型
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景然而,下面我们示例机器人腿的第一个版本不是很现实,因为它会像没有肌肉的骨骼结构一样坍塌。在第二个版本中,我们将添加一些机器人“肌肉”,第三个版本将包括软管。点击部分图片下方的下载链接,下载相应场景。1.一条人的腿当
  • 2023-05-25算法导论阅读记录
    \(\color{red}{不正确的算法如果其错误率可以被控制的情况下肯是很有用的}\)动态图解排序算法插入排序对少量元素的排序较为有效,每次选择一个待排序元素,依次与已排序集合比较伪代码```//从第2个元素开始比较for(i=2;i<length(arr);i++)在单个循环中保存每次的值,保证数据
  • 2023-04-21基础算法-快速排序
    思路快速排序是一种常见的排序算法,它的基本思路是通过分治的方法将一个大的问题分解成小的问题进行解决。具体而言,快速排序的核心思路是选取一个枢轴元素,将序列分为两个子序列,其中一个子序列的所有元素都比枢轴元素小,而另一个子序列的所有元素都比枢轴元素大,然后对这两个子序列分
  • 2023-03-07每日小结(12)
    冒泡排序是一种基本的排序算法,它的原理是比较相邻的元素,如果顺序错误就交换它们。这样一轮比较下来,最大的元素就会移动到最后的位置。然后重复这个过程,直到所有元素都被排
  • 2023-02-25快速排序
    classQuickSort{intpartition(int[]a,intlow,inthigh){intpivot=a[low];//第一个元素作为枢轴while(low<high){//用low、high搜索
  • 2023-01-30快速排序:为什么右边先移动?任意枢轴值选取
    快速排序gist可运行代码Partition的含义是让某个基准元素归位排序算法——快速排序(Quicksort)基准值的三种选取和优化方法左侧基准右侧先走指针小于(严格)i<j
  • 2022-12-14排序算法
    10.1内部排序与外部排序内部排序:待排序的所有记录全部存放在计算机内存中,整个排序过程不需要访问外存外部排序:等待排序的记录数量很大,以至于整个序列的排序过程不可能在
  • 2022-11-19Java常用排序方法
    Java排序方法冒泡排序快速排序选择排序插入排序希尔排序归并排序堆排序【选择类排序】基数排序【桶】总结冒泡排序相邻记录,反序则交换,if(a[j]>a[j+1])冒泡
  • 2022-11-01Java实现优化版【快速排序】+四度优化详解
    参考书目:《大话数据结构》一:快速排序1.基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续
  • 2022-10-12常见交换排序分析
    冒泡排序冒泡排序的基本思想是从后往前或者从前往后,进行两两相邻比较元素的值,如果是所排序的逆序,那么就进行交换。这种排序的效果就像水中的气泡从在较深处由于压强大气泡
  • 2022-08-29使用 QuickSort 算法解决排序数组
    使用QuickSort算法解决排序数组这里我们将讨论一个案例,如何将一系列数字以随机排列的数组的形式排序,使其成为从最小到最大的数字序列。我们将使用最后一个元素的方法