武夷山网站设计,wordpress 文中文档,一个空间怎么做两个网站,手机网站微信咨询1.排序 常用的排序算法有快速排序#xff0c;归并排序#xff0e; (1). 快速排序 以下是快速排序的基本步骤#xff1a; a. 选择一个基准元素#xff1a;通常选择序列的第一个元素作为基准元素。 b. 划分过程#xff1a;将待排序的序列重新排序#xff0c;所有比基准元素…1.排序 常用的排序算法有快速排序归并排序 (1). 快速排序 以下是快速排序的基本步骤 a. 选择一个基准元素通常选择序列的第一个元素作为基准元素。 b. 划分过程将待排序的序列重新排序所有比基准元素小的元素放在基准元素的左边所有比基准元素大的元素放在基准元素的右边。在这个分区结束之后该基准元素就处于数列的中间位置。这个过程称为分区操作partition。 递归地recursive把小于基准值元素的子序列和大于基准值元素的子序列排序递归地将上述两个子序列进行快速排序。
在每次划分后左右两边元素数量接近时时间复杂度可达Θ(nlg(n))最差下退化为Θ(n^2) (2). 归并排序 归并排序Merge Sort是一种分治思想的排序算法它将待排序的序列划分为若干个子序列每个子序列是有序的然后再把有序子序列合并为整体有序序列。归并排序的时间复杂度为O(n log n)且是稳定的排序算法。稳定指的是相等元素排序前后相对位置不变
下面是归并排序的基本步骤 a. 分解将序列分解成两个长度相等的子序列直到子序列的长度为1。 b. 递归进行排序并合并递归地对子序列进行归并排序并将已排序的子序列合并成一个大的有序序列直到合并为1个完整的序列为止。 合并两个有序子序列的过程是归并排序的关键部分具体步骤如下 b.1. 创建两个指针分别指向两个子序列的起始位置。 循环迭代b.2直到其中一个子序列的所有元素都放入了临时序列。 b.2. 比较两个指针所指的元素将较小的元素放入新的临时序列中并将该指针向后移动一位。 b.3. 将另一个子序列中剩余的元素如果有的话直接追加到临时序列的末尾。 b.4. 将临时序列复制回原序列中以完成合并操作。
2.搜索 对有序集合可使用二分搜索 二分搜索Binary Search是一种在有序集合中查找某一特定元素的搜索算法。搜索过程从集合的中间元素开始如果中间元素正好是要查找的元素则搜索过程结束如果某一特定元素大于或者小于中间元素则在集合大于或小于中间元素的那一半中查找而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空则代表找不到。