自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

to_mountain的博客

星光不负赶路人

  • 博客(22)
  • 收藏
  • 关注

原创 【计数排序】一个效率极高还简单的排序算法

它的优势在于在对一定范围内的整数排序时,复杂度为O(n+k)(其中k是整数的范围),快于任何比较排序算法。计数排序的思想类似于哈希表中的直接定址法,在给定的一组序列中,先找出该序列中的最大值和最小值,从而确定需要开辟多大的辅助空间,每一个数在对应的辅助空间中都有唯一的下标。二、从头到尾遍历辅助空间的下标,如果它的数值不为0就将它次数个下标复制给原数组(因为下标代表原数组的值),又因为它是从头到尾遍历的,所以使用此种方法可以排序。一样大的空间,并记录原数组每个值的个数,类似于哈希的映射。

2024-04-25 20:12:08 301

原创 【算法精讲】一篇让你掌握前缀和算法(附图解和不少题目练习~~)

前缀和算法是一种用空间换时间的算法,他常常用于解决某些题目或者作为某些高级算法的组成部分。例如:让你求某个矩阵(一维)的子矩阵的最大值,如果使用暴力解法它的时间复杂度将会是O(n^2) ,但如果使用该算法就可以使其时间复杂度降低一个维度也就是O(N).

2024-03-17 20:21:22 2475 2

原创 【C++入门】一篇带你了解类与对象~

C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;现在以C++方式实现,会发现struct中也可以定义函数在c++语言中,我们更喜欢用类(class)来代替struct的存在,它相比struct来说完善了很多的内容,功能也更加丰富,比如说构造函数析构函数等,后面我会再写文章来讲解这一方面。class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分。

2024-01-30 22:14:49 974 1

原创 【算法精讲】选择排序、堆排序(C语言)

直接插入排序是一种简单的排序算法,它将数组分为有序和无序两部分,和插入排序的思路有些类似。堆排序是直接选择排序的进阶版,他在其原本的思想上进行了优化。每次遍历找最大值和最小值,把最大值放后面,最小值放前面。下面的内容涉及一部分数据结构堆的知识,不适合新手学习。时间复杂度:O( N * logN)时间复杂度:O( N^2)

2024-01-27 11:43:54 374

原创 【手撕排序算法】直接插入排序、希尔排序,有详细图解

直接插入排序是一种简单的排序方法,它的思路就像是插扑克牌一样,每次排序一个,最终排序完成。

2024-01-25 19:16:53 466 1

原创 【去重算法】有序去重和无序去重,C语言版

2.如果两个指向的数大小是不同的,则维护空间++,并且把新的数加进去。2.不同的是判断是否重复,每一次判断都需要在已经去重的范围里循环一遍。1.双指针方法,一个用来遍历整体数组,另一个用来维护去重后的空间。纸上得来终觉浅,绝知此事要躬行。时间复杂度:O(N^2)时间复杂度:O(N)

2024-01-25 15:37:33 441 1

原创 【c++入门】内联函数inline:弥补宏定义的不足

2.另外,内联函数对于编译器来说只是一种请求,内不内联取决于编译器,比如说:如果你的函数超过了75行,那么编译器就会驳回你的请求,对于递归的函数编译器也是不会处理的。相比于没加inline的函数,加了inline的函数直接在main函数里面展开,而没有加的需要根据地址去转到函数位置,建立新的栈帧更加消耗性能。的做法,如果编译器将函数当成内联函数处理,在编译阶段,会用函数体替换函数调用,缺陷:可能会使目标文件变大,优势:少了调用开销,提高程序运行效率。这一概念,不仅吸收了宏的优点,还尽可能的优化了缺点。

2024-01-24 18:56:11 367 1

原创 PTA 7-2 方阵循环右移

直接在输入的时候动手脚,直接挪动。每次右移一格,总共右移m次。

2024-01-23 21:36:52 396 1

原创 【c++入门】指针的好盆友:引用

作为函数的参数:当函数需要修改其参数的值时,可以将引用作为参数传递给函数。这样,函数对引用的操作实际上是对原始变量的操作,而不是对原始变量的副本进行操作。这种方式可以避免数据的拷贝,提高效率。简化指针操作:通过引用,可以更简洁地操作指针。例如,可以将一个数组的引用传递给函数,使得函数可以直接访问数组元素,而不需要使用指针来解引用。作为函数的返回值:可以将引用作为函数的返回值。当函数返回一个临时对象时,可以通过引用返回该临时对象,避免了返回临时对象所占用的存储空间被重复使用的情况。

2024-01-23 20:24:52 1201 1

原创 【c++入门】缺省参数 && 重载函数

所谓缺省参数,其实和普通参数区别不大,但是需要在函数定义的时候初始化一下,上述代码中的,a便是缺省参数,而参数完全都是缺省参数的函数就叫做缺省函数。在c语言中,函数的传参要和函数的形参一一对应,相应的它的使用就很死板,所以在c++中祖师爷引入了缺省参数这一概念,灵活了函数的使用。在结果中,我们可以发现如果我们在这个参数上传了值,那么那个参数就是传的值,若没有传参则是函数参数定义的初始值。这三个函数的名字是相同的,但由于类型不同,所以其实这可以算是三个不同的函数。但是和缺省函数不同的是,非缺省参数的位置。

2024-01-21 22:38:42 332 1

原创 【c++入门】域的认识

所谓域就是值一块独特的领域,这块领域包括它的所属成员(一个常量或者一个函数均可)。我们先不管这串代码是什么意思,我们后文会讲解到。在这串代码中我们创建了两个域,这两个域虽然都有成员x,但这两个x是相互独立的存在。当我们使用领域的所属成员时,我们需要再前面声明它是谁家的x,这就相当于告诉计算机:你给我去这个地方找人去,找不到就别回来啦。

2024-01-17 16:40:13 486 1

原创 用代码画个圣诞树(c语言)

【代码】用代码画个圣诞树(c语言)

2023-12-25 10:34:24 370 1

原创 Python学习笔记(5)字典(dict)常用方法及基础操作、字典视图

字典是包含若干“键:值”的无序可改变序列,表示一种映射关系,也称作关联数组,有些类似于c/c++中的结构体数组,具体特点如下:(1)字典的键通常采用字符串,但也可以用数字、元组等不变的类型。(2)值可以是任意类型。(3)它通过键来索引映射的值,而不是通过位置来索引。

2023-11-28 23:42:43 435 1

原创 Python学习笔记(4)元组的基础操作及方法

元组可以看做不可变的列表,它具有列表的大多数特点,具体如下:(1)可以包含任意类型数据。(2)元组大小不可变,既不能删除,也不能添加。(3)元组中的对象也不能改变。

2023-11-25 13:32:02 109 1

原创 Python学习笔记(3)列表(巨详细版)

列表是Python中重要的内置对象之一,是包含若干元素的有序连续内存空间。他有以下特点:(1)可以包含任意类型的对象。(2)列表可变。(3)储存的是对对象的引用。

2023-11-24 15:40:36 73 1

原创 Python学习笔记(2)数学函数

在使用这个模块函数时,需要在最前面加上import math来导入math模块。

2023-11-22 15:05:16 39 1

原创 Python学习笔记(1)输入和输出

在Python中输出完一行是默认换行的,但是如果我们改为end = ‘’(这是两个单引号,中间啥也没有)则会取消换行。此代码运行后,会在input语句处停止,等待用户输入,用户输入的值会赋值给a,也就是说用户输入什么a就是什么。在输出多个对象时,Python默认分隔符是。

2023-11-21 19:35:19 137

原创 C语言小游戏——俄罗斯转轮&&随机数

【代码】C语言小游戏——俄罗斯转轮&&随机数。

2023-11-14 20:18:27 75 1

原创 python如何安装第三方库(镜像库),快速简单易上手

pip属于是外国的网站所以我们下载它网速很慢,所谓镜像库就是在我们国内建立的一个网站,我们使用镜像库就可以下载的更快。在python中,标准库中的函数往往不能满足我们的使用,因此我们需要从pip中下载安装第三方库,来使用其他人创造的函数,下面让我们来看看如何下载吧!。

2023-10-19 13:08:05 811 2

原创 c语言模拟计算器的运行及其简单优化

在简单计算器的基础上,我进行了改良,更新了两种模式,单次计算和连续计算。按照此种方式,可以进行在计算种类上进行扩展;

2023-09-20 17:09:59 233 1

原创 scanf和printf的用法及其常见错误

在上图中%d为“占位符”,所谓 “占位符”,就是这个位置可以⽤其他值代⼊,这个值必需在引号后标明出来。另外这个值的类型必须要和前面的占位符一一对应,详情如下:• %a :⼗六进制浮点数,字⺟输出为⼩写。• %A :⼗六进制浮点数,字⺟输出为⼤写。• %c :字符。• %d :⼗进制整数。• %e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写。• %E :使⽤科学计数法的浮点数,指数部分的 E 为⼤写。• %i :整数,基本等同于 %d。

2023-08-07 17:33:03 678 1

原创 数据类型详解(上)

另外要注意的是在输入小数是其默认状态为double,此时代码将无法运行,所以我们要在数字后面加上f(long double后加L),这就相当于在和计算机声明这个数的属性。由此可知,如果需要处理些比较大的数,那么用无符号整型比较合适。字符和整型一样也存在有无符号的区别,但与整型不同的是对于未声明的char类型,它的默认状态由编译器来决定,我们可以输入以下代码来检测。int)长整型(long int),更长的整型(long long int),也可略写为short,long,long long。

2023-07-22 18:57:55 86

空空如也

空空如也

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

TA关注的人

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