自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Golang中文件目录操作的实现

文件和文件目录的概念以及文件目录中读取文件、写入文件、复制文件

2023-05-30 07:16:57 2452 81

原创 深入了解Golang中的反射机制

反射是指在程序运行时动态地检查和修改对象的能力。在Go语言中,通过反射可以在运行时检查变量的类型、获取结构体字段和方法的信息,以及动态调用方法等操作。反射在一些需要处理未知类型或需要在运行时进行动态操作的场景中非常有用。

2023-05-28 01:11:35 2910 94

原创 Golang中互斥锁和读写互斥锁

在Go语言中,互斥锁(Mutex)是一种基本的同步原语,用于实现对共享资源的互斥访问。互斥锁通过在代码中标记临界区来控制对共享资源的访问,从而保证同一时间只有一个 goroutine 可以访问共享资源,避免了并发访问时的数据竞争和不一致性问题。互斥锁的主要方法包括两个,分别是 Lock 和 Unlock。Lock 方法用于锁定共享资源,防止其他 goroutine 访问;Unlock 方法则用于解锁共享资源,允许其他 goroutine 访问。

2023-05-24 23:49:38 1953 44

原创 Golang中的管道(channel) 、goroutine与channel实现并发、单向管道、select多路复用以及goroutine panic处理

管道(channel)、goroutine与channel实现并发、单向管道、select多路复用、goroutine panic处理

2023-05-22 22:57:18 3065 69

原创 Golang中的协程(goroutine)

进程、线程、并发、并行以及协程(goroutine)中的使用sync.WaitGroup等待协程执行完毕,多协程和多线程

2023-05-20 23:51:28 1901 29

原创 一文搞懂Golang中的接口

Go语言中的接口,空接口和类型断言 ,结构体实现多接口,接口嵌套以及结构体值接收者和指针接收者实现接口的区别

2023-05-19 16:32:45 831 46

原创 Golang指针的操作以及常用的指针函数

指针的操作:定义指针、获取变量地址、 解引用指针、 指针作为函数参数、 指针的空值 ;常用的指针函数: new 函数 、make 函数、 append 函数 、copy 函数。

2023-05-18 16:55:16 565 13

原创 Golang中函数的使用

函数的基础知识以及函数的特点和函数的使用

2023-05-16 09:21:37 2363 56

原创 Golang结构体入门

Go语言中结构体基础知识与以及结构体基础、结构体示例、为结构体定义方法、组合结构体 、嵌套结构体、指针结构体、匿名字段、面向对象

2023-05-15 09:15:16 275 12

原创 Python中Pandas库的相关操作

Pandas是Python中常用的数据处理和分析库,它提供了高效、灵活且易于使用的数据结构和数据分析工具。数据排序和排名:Pandas提供了对数据进行排序和排名的功能,可以按照指定的列或条件对数据进行排序,并为每个元素分配排名。选择和过滤数据:Pandas提供了灵活的方式来选择、过滤和操作数据。数据的合并和连接:Pandas可以将多个DataFrame对象进行合并和连接,支持基于列或行的合并操作。缺失数据处理:Pandas具有处理缺失数据的功能,可以检测、删除或替换数据中的缺失值。

2023-05-14 23:46:01 372

原创 Python中NumPy库的相关操作

NumPy(Numerical Python)是Python中常用的数值计算库,它提供了高性能的多维数组对象和对数组进行操作的函数。多维数组对象(ndarray)(1)NumPy最重要的对象是ndarray,它是一个具有固定大小的数组,可以包含相同类型的元素。(2)ndarray的维度称为轴(axes),轴的个数称为秩(rank)。(3)ndarray对象可以通过索引和切片进行访问和操作。数组创建和初始化(1)使用NumPy的array()函数可以创建一个ndarray对象。

2023-05-14 23:40:32 259 1

原创 Golang中map基础

map底层是基于哈希表实现的,map使用哈希表来存储键值对,通过哈希函数将键映射为哈希值,用哈希值作为数组的下标,将值储存在以哈希值为下标的数组槽中。map中的元素是键值对(key-value)的形式存储的,其中键必须是支持==比较运算符的类型,如string、数字类型、char等;Map的key类型:Map的key可以是任意可比较类型,如整数、浮点数、字符串、数组、结构体等,但不可以是切片、函数、Map等不可比较类型。Map的元素遍历顺序:Map的元素遍历顺序是随机的,不保证元素的顺序。

2023-05-13 16:11:11 572 4

原创 Golang中的数组和切片

(4)数组可以作为参数传递给函数,但是因为数组的长度是固定的,因此数组的长度也需要作为参数传递;切片可以直接作为参数传递给函数,不需要指定长度。(2)数组是值类型,将一个数组赋值给另一个数组时,会将所有的元素进行复制;切片是引用类型,将一个切片赋值给另一个切片时,它们将共享底层数组。(3)数组可以使用==运算符进行比较,切片不能使用==运算符进行比较。(1)数组的长度固定,切片的长度是动态的。

2023-05-11 07:32:19 482

原创 Golang中的运算符

Go语言中的赋值运算符包括简单赋值、加等于、减等于、乘等于、除等于、模等于、与等于、或等于、异或等于等。Go语言中的关系运算符包括等于、不等于、大于、小于、大于等于和小于等于等。需要注意的是,比较运算符只能用于可比较的类型,例如整数、浮点数、字符串、指针等。Go语言中还有一些其他的运算符,例如取地址运算符&、指针运算符*、sizeof运算符等。需要注意的是,取地址运算符和指针运算符只能用于指针类型,而sizeof运算符只能用于静态类型。用于进行基本的算术运算,包括加法、减法、乘法、除法、取模等。

2023-05-10 14:13:05 656

原创 Go语言字符串基础

(1)strings.Contains(s, substr) 判断字符串s是否包含子串substr(2)strings.Index(s, substr) 返回子串substr在字符串s中第一次出现的位置,如果不存在则返回-1(3)strings.LastIndex(s, substr) 返回子串substr在字符串s中最后一次出现的位置,如果不存在则返回-1。

2023-05-09 07:20:16 490

原创 Go语言中的流程控制语句

在Go语言中,可以在if后面加上一段执行语句,执行语句也可以用作对if条件的判断。a赋值为condition()方法的结果,然后让a与nil进行判断,如果为true,那么会执行代码块中的代码,否则不执行,而且a的作用域只会在这条语句的范围内。

2023-05-08 07:56:18 494

原创 Python中异常处理的学习

在Python中,如果程序出现错误,会抛出异常。异常是一种Python对象,它封装了错误的信息,并提供了一种处理错误的机制。:当assert语句失败时抛出。:当对象没有这个属性时抛出。EOFError:当输入函数(input)遇到文件结束标志EOF时抛出。:当导入模块失败时抛出。IndexError:当使用下标超出序列范围时抛出。KeyError:当使用字典中不存在的键时抛出。NameError:当使用未定义的变量时抛出。TypeError:当对一个类型不符合要求的对象执行操作时抛出。

2023-05-07 22:56:17 352 1

原创 Python中模块和包基础学习

上述代码中,我们使用__name__变量判断模块是被导入还是直接执行,如果是直接执行,则输出This is the main program.,否则输出This is a module.。以上是一些Python模块的基本介绍和操作示例。在实际开发中,模块的使用和操作也是非常常见和重要的,熟练掌握这些知识点可以提高代码的复用性和可维护性。Python中的模块是指一个文件,可以包含函数、类、变量和可执行代码等,并且可以被其他程序引入和使用。文件中可以定义包级别的变量和函数,这些变量和函数可以被包中的模块共享。

2023-05-07 22:39:16 398

原创 Go语言的基础语法以及变量和常量

在一个const声明语句中,在第一个声明的常量所在的行,iota会被置为0,然后每有一个常量声明的行iota的值就加1。例如int类型默认为0、float类型默认为0.0、bool类型默认为false,string类型默认为空字符串,指针类型默认为nil。表示在函数体内声明的变量称为局部变量,它的作用域只在函数体内,它的参数的返回值的变量也是局部变量。变量声明以关键字var开头,中间为变量名,最后为变量类型,无需分号结尾。其中,var是变量声明的关键字,age是变量名,int是变量的类型。

2023-05-05 00:22:05 429 1

原创 哈夫曼树、哈夫曼编码和字典树

哈夫曼树、哈夫曼编码和字典树的概念和代码详解

2023-04-05 02:06:23 602 22

原创 二叉树的前中后序遍历以及求深度、叶子节点和二叉树的重建

二叉树的前中后序遍历以及求深度、叶子节点和二叉树的重建。理论+代码演示

2023-04-03 04:12:33 379 17

原创 动态规划入门

动态规划概念以及动态规划的基本问题:最大子串和,LCS,LIS,数塔,最大子矩阵和以及背包问题

2023-04-01 23:40:36 426 13

原创 贪心算法例题

三道例题理解贪心思想

2023-03-25 22:58:43 610 15

原创 DFS(深度优先搜索)和BFS(宽度优先搜索)

深度优先搜索和宽度优先搜索的讲解和例题

2023-03-23 14:59:00 767 25

原创 归并排序和快速排序

归并排序与快速排序

2023-03-21 01:08:48 702 23

原创 LeetCode--缺失的第一个正数(41)和 接雨水(42)

(2)0 -> a.length 循环,将 a[i] 放到 a[i] - 1 位置,如果a[a[i] - 1]!解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。(1)映射一个关系为数组 a[i] 存的值为 i+1,所以当 a[i] = x时,x的下标就位 x-1。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输入:height = [4,2,0,3,2,5]

2023-03-19 23:48:17 1020 30

原创 希尔排序与堆排序

希尔排序与堆排序代码实现

2023-03-19 23:06:36 71

原创 断点调试(debug)

debug学习

2023-03-06 22:19:46 767 15

原创 栈的介绍以及使用数组模拟栈的入栈和出栈

栈的介绍以及使用数组模拟栈的入栈和出栈代码过程

2022-12-03 22:19:01 711 23

原创 单向环形链表介绍以及约瑟夫问题分析

单向环形链表的介绍以及约瑟夫问题的分析与解答

2022-11-27 18:19:15 867 36

原创 【数据结构】—— 双链表的增删改查

双链表基础以及案例演示

2022-11-25 01:01:20 1190 20

原创 【数据结构】—— 单链表的增删改查

单链表的创建、删除、更改、查看

2022-11-22 00:00:29 1383 54

原创 【数据结构】—— 队列基础知识以及数组模拟队列的分析、演示及优化

队列基础知识——数组模拟队列和数组模拟环形队列的分析和演示

2022-11-10 18:01:54 1167 31

原创 【趣学算法】Day4 分治算法——二分搜索

分治算法——二分搜索

2022-10-30 01:08:44 816 33

原创 【趣学算法】Day3 贪心算法——背包问题

贪心算法——背包问题

2022-10-28 23:59:50 2033 147

原创 参加微软学生开发者峰会,了解Azure和GitHub……

首届微软学生开发者峰会学习挑战赛

2022-10-28 00:17:50 1142 16

原创 【1024节日快乐!】LeetCode--分发饼干

努力学习算法

2022-10-24 23:54:48 212 48

原创 【趣学算法】Day2 贪心算法——最优装载问题

贪心算法——最优装载问题

2022-10-21 23:13:58 4042 41

原创 【趣学算法】Day1 算法简介+斐波那契数列

趣学算法——斐波那契数列

2022-10-18 23:57:51 463 18

原创 成员方法传参机制

成员方法传参机制——基本数据类型传参、引用数据类型传参、和成员方法的返回类型知识点

2022-10-17 10:37:01 556 11

空空如也

空空如也

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

TA关注的人

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