随笔分类 -  算法

摘要:目录排序的概念内外部排序稳定与非稳定排序改进排序的指标图片 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[ 阅读全文
posted @ 2024-08-21 08:00 HJfjfK 阅读(35) 评论(0) 推荐(0) 编辑
摘要:高精度计时器,时间精度可以达到1纳秒. 随机数生成器,可以实现各类随机数,本测试主要用于实现9成随机数下排序性能. 阅读全文
posted @ 2024-08-20 23:39 HJfjfK 阅读(38) 评论(0) 推荐(0) 编辑
摘要:目录基数排序实现原理基本步骤效率分析代码实现sortmain 基数排序 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排 阅读全文
posted @ 2024-08-19 17:17 HJfjfK 阅读(99) 评论(0) 推荐(0) 编辑
摘要:目录内观排序/内省排序Introsort 的工作原理:总结:内省排序中的堆排序作用在 Introsort 中的具体作用:如何在 Introsort 中使用堆排序:示例代码中的堆排序部分:内省排序中插入排序(小区间优化)部分插入排序的工作原理:Introsort 中插入排序的使用:内省排序算法执行流程 阅读全文
posted @ 2024-08-12 11:33 HJfjfK 阅读(232) 评论(0) 推荐(1) 编辑
摘要:目录归并排序用途特性null优点与其他排序算法比较的优点缺点算法步骤递归实现时间/空间复杂度分析非递归实现归并与快排的区别 归并排序 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序 阅读全文
posted @ 2024-08-06 22:59 HJfjfK 阅读(224) 评论(0) 推荐(1) 编辑
摘要:目录希尔排序概述优缺点算法步骤代码实现 希尔排序 概述 希尔排序,也称递减增量排序算法,也称缩小增量排序,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率; 阅读全文
posted @ 2024-08-06 21:50 HJfjfK 阅读(154) 评论(0) 推荐(1) 编辑
摘要:目录快速排序快速排序要解决的几个问题算法步骤递归法空间复杂度: log2(n)1. hoare法基本原理时间复杂度分析代码实现1优化一 三数取中代码实现逻辑测试三数取中优化版本快排优化二 小区间优化代码实现测试2. 挖坑法3. 前后指针法4. 三路排序算法背景概念适用说明实现思路代码实现非递归版本为 阅读全文
posted @ 2024-08-06 20:48 HJfjfK 阅读(389) 评论(0) 推荐(1) 编辑
摘要:目录堆排序堆排序的好处:算法步骤代码实现时间复杂度分析记忆技巧: 堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分 阅读全文
posted @ 2024-08-06 19:03 HJfjfK 阅读(124) 评论(0) 推荐(1) 编辑
摘要:目录直接选择排序描述选择排序的缺点:算法步骤代码实现 直接选择排序 描述 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了。 选择排序的缺点: 效率低下:选择排序的时间复杂度始终是 𝑂(� 阅读全文
posted @ 2024-08-06 18:02 HJfjfK 阅读(41) 评论(0) 推荐(1) 编辑
摘要:目录冒泡排序描述冒泡排序的缺点:什么时候最快什么时候最慢特点评价:代码实现 冒泡排序 描述 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经 阅读全文
posted @ 2024-08-06 17:01 HJfjfK 阅读(88) 评论(0) 推荐(1) 编辑
摘要:目录插入排序描述应用分析时间复杂度空间复杂度算法步骤代码实现 插入排序 描述 插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外 阅读全文
posted @ 2024-08-06 16:00 HJfjfK 阅读(101) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示