自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 剑指offer 32 - 36

剑指offer 32 - 36

2022-10-26 22:21:25 279

原创 八大排序之堆排序

堆排序 堆排序基本思想 堆排序是一种使用堆进行排序的排序算法,堆:接近完全二叉树的结构,并且它的每一个子节点都大于(或小于)父节点。每一个子节点都小于父节点的被称为大堆,反之,称作小堆。 在数组中的存放为: 堆排序步骤: 首先将数组中的数据通过向下调整变为大/小顶堆。 交换堆顶和堆尾数据,将堆尾数据除外后,对堆顶向下调整重新调整为大/小顶堆。 重复操作2,直到堆中数据只剩一个。 排顺序时,使用大顶堆,这样保证每次交换到堆尾的数据都是当前堆中最大的值。相反如果排逆序,则使用小顶堆,保证每次交换到堆尾的

2021-12-09 14:21:02 347 1

原创 八大排序之快速排序

快速排序 快排基本思想 通过一趟排序将待排序的数据分为两个部分,一部分的数据小于另一部分,再利用递归对两部分的数据进行快速排序,最终使整个序列变为有序。 具体步骤: 首先,挑选数据中某个数据作为基准数。 将数据分区,比基准数大的数据放在右边,小于基准书的数据放在左边。 再对左右分区进行快速排序,直到各区只有一个值。 三种不同的快排思路 a.固定基准数法 取首个元素或最后一个元素作为基准数。 此时取33作为基准数,left指向数据头,right指向数据尾。 right找小于基准数的值,left找大于基

2021-12-07 11:12:39 689

原创 八大排序之希尔排序(缩小增量排序)

希尔排序 希尔排序原理 希尔排序是一种特殊的插入排序,也被称作缩小增量排序,是为了提高直接插入排序算法的效率而产生的一种排序方法。 具体操作为: 记录按序列下标的增量分组,对每组分组使用直接插入排序算法。 缩小增量,扩大分组内元素数量,继续使用直接插入排序。 直到增量缩小到1时候,此时的分组内是目标序列所有元素,再次进行直接插入排序,排序完成。 图解希尔排序 一般情况下,我们默认增量gap为序列的长度的一半,即通过每次对增量除2来扩大分组内元素数量,具体操作如下: 定义gap(增量)为数组长度(siz

2021-12-06 10:53:46 1481

原创 八大排序算法—《直接插入排序》

八大排序之直接插入排序 什么是直接插入排序? 直接插入排序是一种比较排序。 在生活中也经常用到这种排序。 比如在各类扑克游戏中, 整理手牌的过程就是一种直接插入排序的体现。 直接插入排序原理 通过构建有序序列,将新的数据插入到已经有序的数据当中去。 首先将序列中搞得第一个元素看做是已经有序的序列。 取出下一个元素,与已经有序序列中从最后一个数据向前逐次进行比较,如果有序序列中的元素大于该元素,将这个元素(有序序列)向后移位一格。 重复步骤3,直到找到已排序序列中的某个元素小于等于该元素时

2021-12-04 13:10:33 1188

原创 C语言函数指针详解

C语言函数指针 一、什么是函数指针 1.理解函数指针 ​ 函数指针,首先根据他的名称我们就大概可以了解到他是一个指针,是什么样的指针呢?是和函数有关的一种特殊的指针。 ​ 我们知道 int*p 是指向int型变量的指针,char*p是指向char型变量的指针,那么不难理解,函数指针就是一个指向函数的指针。 int arr[10]={0}; int *p = arr; ​ 我们知道,在数组中数组名就是首元素的地址。 ​ 那么试着猜猜看,函数的地址是什么样的情况呢。 ​ 我们不妨打印一下看看结果是什

2021-08-12 08:38:21 4358 3

原创 浮点数在内存中的存储IEEE 754 标准

浮点数在内存中的存储IEEE 754 标准 一.IEEE 754基本存储规则 (-1) ^ S x M x 2 ^ E 其中S用来控制正负,当S为0浮点数表示为正,反之为负。 M则代表1到2间的一个有效数字。 2^E表示指数位。 ​ 具体举例来说:例如十进制的9.75,我们不妨先转化为二进制也就是:1011.11,我们知道十进制数中的科学计数法可以帮我们简介的表示一个极大的数,二进制中也有类似的做法,我们把上面这个二进制数表示为下列形式:1.01111 x 2^3,接着,我们就可以根据IEEE 7

2021-08-09 13:45:48 1034 1

原创 一只菜鸡的学习编程之路

一、自我介绍 我是来自南京某双非大学的一名科班大二在读生,因为对自己未来从事行业没有太多想法,所以阴差阳错的选择了计算机行业,但是通过一些有关IT行业的自媒体视频等各种渠道了解后,对IT行业开发和编程产生了很大兴趣。所以下定决心一定要学好编程,拿下高薪offer证明自己能力!之后也会使用csdn以及gitee记录自己的学习历程! ...

2021-06-03 15:46:51 227

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除